【问题标题】:possible to write webapplication using ANSI - C scripting?可以使用 ANSI - C 脚本编写 Web 应用程序吗?
【发布时间】:2010-12-06 06:57:56
【问题描述】:

我想使用 ANSI C 开发一个 web 应用程序。因为,我希望应用程序比其他应用程序足够快,并且它应该支持所有类型的操作,如普通脚本 php、python 或任何脚本语言提供。即使您知道使用数据库而不是 C 来快速访问,也请推荐更好的方法

如果有人有想法,请分享教程以开始。

【问题讨论】:

  • 您为什么要这样做?你知道即使是经常光顾的网站也是用 python/php/perl 编写的?是什么让您假设普通的脚本语言无法为您做到这一点?

标签: c performance c89


【解决方案1】:

我不知道任何 C Web 应用程序框架,因此,如果您确实希望用 C 编写您的应用程序,您将需要通过 Web 服务器接口处理您的应用程序/框架和 Web 服务器之间的所有通信 -理解这一点的最简单起点可能是阅读 CGI,但是一旦您了解了 CGI 的工作原理,您将希望继续理解 FastCGI,因为尽管 FastCGI 更复杂,但 CGI 的速度非常慢。

但是我强烈建议您不要打扰,除非您出于学术目的尝试这样做!

  • 您建议的路径涉及低级别的东西 - 它很有趣,但是要实现在 任何 一半中可以非常容易地完成的事情需要 大量 - 不错的 Web 应用程序框架。

  • 对于 Web 应用程序而言,重要的是 吞吐量(在给定时间段内您可以处理的请求数),而不是速度(处理单个请求所需的时间) ) - 看起来用 C 编写的网站会快得多,但实际上,与(例如)缓存和其他优化相比,C 的执行速度非常少。

  • 已经存在其他经过验证且速度极快的框架!

最终结果是,几乎可以肯定,您想出的任何东西都比使用“慢”脚本语言需要更多的工作和更慢的速度。

【讨论】:

  • 感谢您的建议 :) 那么,FastCGI 和 Python 的性能差异如何?
【解决方案2】:

任何类型的“脚本”都不会为您提供您可能正在寻找的“原始速度”。

不过,我通常会强烈反对这种思路。有很多 Web 框架,您可以在其中生成运行非常高效的代码。即使是“脚本化”的 Web 框架也经常缓存脚本并减少解析和执行所涉及的大部分初始减速。

使用已编译字节码/IL 的框架在加载/JIT 后可以非常快。


但是,如果您打算用 C 编写自己的 HTTP 引擎;我怀疑在您非常熟悉已经存在的东西之前,您能否获得与其他任何东西一样快的东西。它们是如何工作的,所涉及协议的所有变体等等……

【讨论】:

    【解决方案3】:

    我听说过很多关于FastCGI 的好消息。也许你应该试试?

    【讨论】:

    • FastCGI 只是一种用于 Web 服务和 Web 应用程序之间通信的协议。虽然你可以用它来用 C 编写一个 web 应用程序,但它的东西相当低级——大多数框架都提供了使用 FastCGI 与 web 服务器通信的能力。
    • @Kragen 好吧,即使 FastCGI 只是一个协议,它们也提供了支持 FastCGI 的库。而且我认为,如果您想在 C 中进行“Web 脚本”,那么它是最接近的。当然,它是低级的,但 C 语言也是如此。
    【解决方案4】:

    您应该通过 trustleap 结帐 g-wan。它允许您在 ansi-c,负责处理有关 http 协议的所有细节。

    http://www.trustleap.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 2011-03-14
      相关资源
      最近更新 更多