FastCGI C++ vs. A Script Language (PHP/Python/Perl)
使用FastCGI C++与.PHP/ Python / Perl做同样的工作有什么起伏。
是否有任何性能或设计缺陷,或者使用一个而不是另一个?甚至您的意见也欢迎您。(告诉我为什么一个或另一个岩石,或一个或另一个很糟糕)。
使用FastCGI C++与.PHP/ Python / Perl做同样的工作有什么起伏。
是否有任何性能或设计缺陷,或者使用一个而不是另一个?甚至您的意见也欢迎您。(告诉我为什么一个或另一个岩石,或一个或另一个很糟糕)。
脚本语言可能比C慢,但这是一个问题吗?几乎从不。如果性能成为问题,您开始只翻译关键部分。
twitter/ruby就是一个很好的例子。红宝石很慢。一些语言功能(首先使ruby很好)只是阻止了不同类型的优化(jruby家伙有一篇关于此的很棒的文章......是奥拉比尼吗?不记得了)。
尽管如此,twitter还是由ruby驱动的,因为ruby足够快。不久前,“博客”报道Twitter出于性能原因迁移到scala...事实是,只有消息传递队列(以及后端的其他部分)移动到scala。雅虎在多种语言上运行;php用于前端,其他更快的语言用于性能至关重要的地方。
那么,为什么性能不那么重要呢?有几个原因:
另一个支持脚本的点:许多脚本语言都支持内联或包含快速(C)代码:
我认为,特别是在Web开发中,高级脚本的优点远远超过缺点。
几年前,我或多或少地在工作中学习了Web应用程序编程。C是我所知道的主要语言,所以我用C编写了(相当大规模的)Web应用程序。C的字符串处理和内存管理很乏味,再加上我在Web应用程序方面缺乏经验,它很快成为一个难以维护的项目。
C++会好得多,主要是因为它比.std::string
char*
但是,现在我每次都会使用Python(尽管PHP不是一个糟糕的选择,也许更容易上手)。Python的字符串处理非常棒,它可以无缝地处理Unicode。Python拥有比C++更好的Web工具和框架,其正则表达式处理和标准库(urllib,email等)工作得很好。而且您不必担心内存管理。
如果我受到严重的RAM限制(例如在嵌入式微型上),或者如果我在Google工作并且正在编写一个每秒必须响应数千个查询的搜索引擎,我可能只会将C或C++用于Web应用程序。