Performance web编程语言基准?

Performance web编程语言基准?,performance,web-services,web-applications,benchmarking,Performance,Web Services,Web Applications,Benchmarking,我在想,随着越来越多的编程使用类似和各种各样的工具和技术移动到web上,有没有人能为编程语言提供一套好的基准 我认为服务器端语言,如Java、PHP、ASP.net和C#是最重要的。虽然它可以是任何类似C或perl的东西,但我不想去那里,因为它不是主流,甚至不是很快 当我购买新的CPU时,我可以对浮点、整数和多任务数进行基准测试。我可以设置渲染时间之类的工作台 我认为有人可以为简单的编程任务和实际的web服务场景开发一个标准的工作台。最好是一个独立的组织。当然,您可以随时调整代码以提高性能,但我

我在想,随着越来越多的编程使用类似和各种各样的工具和技术移动到web上,有没有人能为编程语言提供一套好的基准

我认为服务器端语言,如Java、PHP、ASP.net和C#是最重要的。虽然它可以是任何类似C或perl的东西,但我不想去那里,因为它不是主流,甚至不是很快

当我购买新的CPU时,我可以对浮点、整数和多任务数进行基准测试。我可以设置渲染时间之类的工作台

我认为有人可以为简单的编程任务和实际的web服务场景开发一个标准的工作台。最好是一个独立的组织。当然,您可以随时调整代码以提高性能,但我所说的是在每种语言中都可以相同地完成的简单事情。我打赌它也会很健壮

在可伸缩性方面,性能将是web语言的一个问题。我想知道一种语言,或者更好的是,它的最新版本,是否能与竞争对手抗衡

有人这么做了吗,还是我应该自己做生意


编辑:是的,我知道基准测试是主观的,对于网页来说更是如此。我没有说这会很容易,甚至现在也没有必要。。很明显,将我的视频卡与Crysis和FarCry进行对比是主观的,但这是一个有用的现实测试。这就是我的目标,也是主流语言的目标。如果性能成为未来的焦点,我们能看到C语言的复兴吗?

你指的是计算速度还是编程效率?或者别的什么

除了实际的数字运算速度外,语言质量是高度主观的,有人认为编程效率比计算速度更重要

此外,虽然许多语言都有共同的特点,但每种语言都有特定的目标。这就像把苹果和橙子做比较。

有很多服务器端语言


喜欢分形,并且好奇脚本语言是否能胜任这项任务。我为我的测试编写了一个非常简单的Mandelbrot集生成器。我没有针对每种语言进行优化,而是尝试用每种语言以大致相同的方式编写每个程序,以进行合理的性能比较

以下是在我的867 mhz Powerbook G4上运行的结果。越短越好。请注意,以下基准并不科学,只是为了满足我的好奇心。您的里程可能会有所不同

请随时向我发送任何其他语言的端口。程序应在底部以“已用%0.2f”的形式打印已用时间(以秒为单位)。如果可以,请提供在MacOS X上构建的说明


CPU中的浮点等数字没有网页/web服务等那么主观。要在语言之间进行公平的比较是很困难的,问题往往是如何编写,而不是语言本身。准确地比较语言是很困难的,尽管并非不可能

对我来说,最简单的类比是众所周知的数据库TPC评分机制,它确实提供了数据库方面的性能数据,但一般开发人员什么时候会去查看它们呢?除非你不是在极端水平上工作,否则它们不是你的指导因素(即使如此,DB也包括优化者捷径,以提高TPC分数。)

TPC从it中获得了一项非营利性业务,但它从竞争对手的产品中获得了大量的支持——如果MS/Oracle/IBM以及硬件供应商不购买它,它不会走得很远

能做到吗?也许,永远不要说“不”,但这一点也不微不足道,需要多个语言供应商、h/w供应商等的认可。在这一点上,更多的是销售和营销,而不是技术

有没有人为编程语言提出了一套好的基准

可能不会,而且这种情况似乎越来越不可能发生——请看,尤其是“基准是一个垃圾桶”

我说的是用每种语言都能做的简单事情


是什么让你认为你能分辨出它们“在每种语言中都是相同的”?程序源代码可能看起来相同,但这并不意味着语言解释器完成了相同的工作,或者编译器生成了相同的处理器指令。

您在这里谈论的是基础技术,这些技术过于笼统,无法规范。web更多地是关于网络和电信,而不是编程语言。信号传输、调制和接收影响服务质量。想想多人游戏,或者你的后台业务门户。有关应用程序性能的主要考虑因素可能是天气、信号噪声、距离、使用资源的人数等。服务器特性和用户外围设备将在程序的可用性中起主要作用。最后,你的程序是否能在不同的平台上正常工作。所以程序员最大的问题不是语言,而是bug。不要有错误的程序。这不是编译器。这是密码

我也有同样的问题。JavaScript或dotnet。答案取决于你想做什么。执行页面外观、简单数据或简单操作可能需要脚本,因为脚本具有简单的语言结构。复杂的操作或更大的数据存储将从更健壮和结构化的编程语言如C++中获得更好的性能。 另外还有金钱因素,它与媒体表现的成熟度呈正相关。一切!花费金钱,甚至你的时间。这可能是不明确的,但代价是存在的。通用(开源)并不总是更好,因为当你想使用其他人的资源时,隐藏的成本就会出现。通常情况下$
Language                Time    Relative Speed
C gcc-4.0.1             0.05 seconds     1.00 x
ocaml compiled 3.09.2   0.05 seconds     1.00 x
SBCL 1.0.2              0.13 seconds     2.55 x
Java 1.4.2              0.40 seconds     8.00 x
Io 20070410 Vector      1.40 seconds     28.09 x
Lua 5.1                 1.50 seconds     30.00 x
ocaml bytecode 3.09.2   3.76 seconds     75.15 x
Python 2.5.1            9.99 seconds     199.80 x
Ghostscript 8.51        11.66 seconds     233.12 x
Perl 5.8.6 Optimized    12.37 seconds     247.34 x
TCL 8.4 Optimized       16.00 seconds     320.00 x
Perl 5.8.6              21.75 seconds     435.00 x
PHP 5.1.4               23.12 seconds     462.40 x
Javascript SpiderMonkey v1.6 31.06 seconds     621.27 x
Ruby 1.8.4              34.31 seconds     686.18 x
Emacs Lisp              47.25 seconds     945.00 x
Applescript             71.75 seconds     1435.00 x
Io 20070410             85.26 seconds     1705.13 x