繁体   English   中英

PHP 与 C CGI 用于小型 web 服务

[英]PHP vs. C CGI for small web service

我正在创建一个小型 web 服务,该服务只能由机器访问,而不是简单地获取查询字符串并进行一些 MySQL 查询的用户。 我决定在 PHP 中对此进行编码,因为它简单易写,并且工作良好。 然而,我的老板希望我们在 C(使用 FastCGI)中将其编写为 CGI,因为他说它会更快并且使用更少的 memory。 由于以下几个原因,我不太热衷于这个想法:

  • C 的 MySQL API 似乎比等效的 Z2FEC392304A5C23AC138DA228 有更多的调用和更多的错误处理。
  • C 中的字符串操作有些复杂和混乱。
  • C 中的代码几乎是 PHP 中等效代码的 3 倍,并且看起来相当混乱,有很多错误处理。

但那只是我的个人意见。 我还需要考虑哪些其他因素? C 是这项工作的最佳工具吗? 还是 PHP?

如果速度是您(或您的老板)关心的问题,请查看 G-WAN 服务器,它允许您编写 C 脚本。 论坛中有一些MySQL样品 它会比 FastCGI(必须通过套接字跨越进程边界)快得多

关于这一点的几点:

  • It's much easier to implement any web service in PHP rather than C, because PHP is a language designed to work online and C is a general language.
  • C 已编译,这使得它比 PHP 程序快得多,但是如果您真的担心优化(您的程序消耗大量资源并且您的硬件非常有限),您可以使用 Z2FEC392304A5C23AC7BCC(示例源代码为Z2FEC392304A5C23AC138DA22847“编译” )
  • 两种语言对数据库的访问都是一样的,所以如果你的程序需要大量访问数据库,它会有相似的性能。
  • 更重要的是:老板就是老板:)

恕我直言,如果大部分处理是由MySQL进行的,则无需在C中编写此代码,因为差异可以忽略不计,但是如果您的代码会进行很多处理,那么听老板的话并制作它是有意义的在 C

问问你的老板,如果你用 C++ 会不会更好。

  • 提醒他代码的可维护性,以及使用 C++,您可以引入更少的错误,代价是速度很低。
  • 提醒他,修复或改进软件所需的“时间”“包含”在“执行时间”中——即由于一个小错误而导致服务受到影响的时间。

并尝试fastcgi++ 您还拥有boost和其他库,它们可以帮助您更快地完成无聊的事情,并专注于重要的事情。

如果应用程序进行大量计算,最好在 C / C++ 中进行计算。

  • 否则请提醒您的老板,通常情况下,无论使用哪种语言,应用程序都不会因计算而变慢,而是“等待资源”——等待磁盘或等待数据库是最普遍的——这无论如何都会发生语言
  • 提醒你的老板,对于速度,使用apc可以获得大约 10-60% 的改进。

如果他根本不想要,那么你有两个选择:

  • 辞去工作
  • 按照他的要求去做

为什么是 C++,而不是 C

确实,通过良好的编码约定,您也可以在 C 中编写可管理的代码。

但是使用 C,您仍然拥有与异常、以 NUL 结尾的字符串、映射等相反的冗长错误处理。 我爱 C 比 C++ 还要多,但让我们面对现实吧:这里不是关于语言,而是关于需要与 ZDBC11CAA5BDA29F77E6FB4DABD8 和他的员工战斗的暴君(老板)的心态。

两种工具都可以。 如果您的老板想要 C,请在 C 中制作。

你别无选择,因为你的老板想要它。 除非您不能在 C 中编码,否则只需 C 即可。

您的应用很可能是 I/O 绑定的。 所以在 C 中甚至不会明显更快。

不寒而栗……你应该离开公司。 不应该允许老板对员工进行微观管理……除非他也是公司的编程大师:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM