代码之家  ›  专栏  ›  技术社区  ›  nonopolarity

编译一个C程序并运行它而不是运行php页面是否值得?

c php
  •  3
  • nonopolarity  · 技术社区  · 15 年前

    似乎大多数时候,获得的速度都不值得——是这样吗?否则,许多人会为他们最受欢迎的页面做这件事。使用C程序是否有真正的好处?我可以考虑一个不重要的情况:当服务器上的网络瓶颈比CPU瓶颈大得多时,那么程序运行的速度就变得不那么重要了。

    7 回复  |  直到 15 年前
        1
  •  8
  •   JaredPar    15 年前

    C是一门优秀的语言。但它是为系统级编程而不是为制作网页而设计的。另一方面,PHP是为制作网页而设计的。为正确的工作使用正确的工具。在本例中是php。

    另外,你是从一个错误的前提开始的。也就是说,PHP的速度不足以传递页面内容。有很多网站都不同意这一说法。也许有一个角落的情况是,C是唯一的选择的工作,但我发现它是非常不可能的,你会遇到这种情况。

        2
  •  2
  •   Ólafur Waage    15 年前

    当你用C作锤子时,一切看起来都像拇指。

    如上文所述,使用正确的工具。你可以用C语言完成,很多人都有。但是对于Web,php与c的开发速度也是您可能会研究的内容。在PHP(例如动态数组)中可以很简单地做一些事情,这在C中并不简单。

        3
  •  0
  •   Nir    15 年前

    大多数网站使用内存缓存进行高速响应。 在这种情况下,加载不再在页面的创建中,所以我不再使用C程序。

        4
  •  0
  •   Robert Venables    15 年前

    我要说的是,即使在您举例说明的情况下,重新设计服务器端的工作以作为C程序运行也是不值得的。不管交通量如何。

    升级服务器或实现有效缓存的成本总是低于在C中运行时重写服务器端代码所需的工作量。

        5
  •  0
  •   dassouki    15 年前

    这真的取决于代码。例如,我宁愿编译处理网络图算法的C代码;但是,我从不转换显示最小CSS的简单静态页面。

        6
  •  0
  •   garrow    15 年前

    如果你甚至需要问这个问题,答案是否定的。

    基于Web的应用程序受到网络、数据库、I/O和CPU的限制,按照这个顺序,用C语言编写代码所获得的速度提高肯定会被抵消,但由于语言的性质,开发时间的增加仍然会受到其他因素的更显著影响。

    如果您的代码需要运行得非常快,做一些计算上非常困难或涉及的事情,也许C是正确的答案,但大多数网站不是这样的。

    一旦确定当前的实现速度太慢,将非常具体的处理或繁重的代码重写为C模块可能是值得的,但是这些优化最好是沿着轨迹进行,并且对应用程序中的真正瓶颈有一定的了解。

    如果您有一个像样的库或平台,例如.NET MVC,使用C进行常规Web开发是一个可行的想法。C,没那么多。

        7
  •  0
  •   Csaba Kétszeri    15 年前

    有一种情况(在我能想到的所有其他情况下,答案是它不值得——好的理由在其他答案中)。

    所以情况是什么时候

    • 程序需要做大量的数据处理或计算
    • 有大量优化的C代码可用

    我想说,一个复杂的光线跟踪系统是这种情况的候选者,但在这种复杂情况下什么都不是。

    即使在这种情况下,我也会用PHP实现页面,并运行后台作业来完成繁重的工作。