CGI在什么情况下比Servlet更快?

时间:2010-10-01 18:06:59

标签: performance servlets cgi

我今天和我的一位老师讨论过他说CGI 总是比Servlet慢。我告诉他,性能是主观的,在某些情况下,CGI可以比Servlet表现更好。他坚持要举例说明CGI何时比Servlet更快。我只是想知道我能想出什么才能反击“Servlet 总是比CGI更快”。

2 个答案:

答案 0 :(得分:2)

6年后....也许你可以给老师发电子邮件:

“平均而言,PHP版本比ASP版本快,而CGI(C ++)版本比PHP和ASP快10倍。” (http://www.wrensoft.com/zoom/benchmarks.html

基本上,CGI性能将根据您实现它的语言而有所不同,我怀疑servlet运行速度比C ++ CGI运行速度快。当资源消耗发挥重要作用时,压力更大。

询问你的老师为什么Facebook将PHP编译成C ++等价物,或者谷歌和亚马逊为什么在他们的实现上使用C ++。

人们谈论fork()exec()开销,但不承认JVM在内部做同样的事情。顺便说一句,JVM是用C / C ++编写的。

答案 1 :(得分:0)

表现不是主观的。去查找单词。

现在,回答你的问题,当执行servlet的Java代码所花费的时间足够长时,加载和执行CGI程序的时间由Java程序占主导地位时,CGI将比servlet更快运行。所以,例如,如果你有一个C语言的CGI程序

 main(){ return; }

并且您将它与servlet进行比较,它可能会更快。

您要做的是设置一个servlet容器和一个CGI目录,并实际监控和测量一些比较性能。