我认为随着越来越多的编程使用类似的工具和技术进入网络,有没有人为编程语言提供一套好的基准测试?
我认为服务器端语言,如Java,PHP,ASP.net和C#是最重要的。虽然它可能是C或perl之类的东西,但我不想去那里因为它不是主流甚至是快速的。
当我购买新CPU时,我可以对浮点数,整数和多任务数进行基准测试。我可以处理渲染时间等问题。
我认为有人可以为简单的编程任务和实际的Web服务方案开发标准工作台。最好是独立的组织。当然,您总是可以调整代码以获得性能,但我说的是简单的事情,可以在每种语言中完全相同。我打赌它也可能很强大。
在可扩展性方面,性能将成为Web语言的一个问题。我想知道一种语言,或者更好的是,它的最新版本是否与竞争对手相媲美。
还有人这样做,还是我应该自己创业?
编辑:是的,我知道基准测试是主观的,对于网页来说更是如此。我没有说它现在很容易,甚至是不必要的。显然,在“孤岛危机”和“孤岛惊魂”中对我的视频卡进行基准测试是主观的,但它是一个有用的真实世界测试。这就是我的目标,也是主流语言。如果表现成为未来的焦点,我们能否看到C的复苏?答案 0 :(得分:2)
服务器端语言some benchmarks out there comparing a lot。
I've always享受分形,并且好奇脚本语言是否适合任务。我为我的测试写了一个非常简单的Mandelbrot集合生成器。我尝试以每种语言大致相同的方式编写每个程序,以进行合理的性能比较,而不是针对每种语言进行优化。
以下是在我的867 mhz Powerbook G4上运行的结果。越短越好。请注意,以下基准测试并不科学,只是为了满足我的好奇心。您的里程可能会有所不同。
随时将端口发送给任何其他语言。程序应以“Elapsed%0.2f”的形式打印底部经过的时间(以秒为单位)。如果可以,请包含在MacOS X上构建的说明。
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
答案 1 :(得分:1)
你在谈论这里的基础技术,这些技术太过笼统。网络更多地是关于网络和电信而不是编程语言。信号传输,调制和接收会影响服务质量。想想多人游戏,或者你的后台商业门户。关于应用程序性能的主要考虑因素可能是天气,信号噪声,距离,使用资源的人数等等。服务器特性和用户外围设备将在程序的可用性中发挥重要作用。最后,您的程序是否可以在不同平台上正常运行。所以程序员最大的问题不是语言,而是错误。没有错误的程序。这不是编译器。这是代码。
我有同样的问题。 JavaScript或点网。答案取决于你想做什么。执行页面外观,简单数据或简单操作可能是脚本,因为脚本具有简单的语言结构。复杂的操作或更大的数据存储将通过更强大的结构化编程语言(如C ++)获得更好的性能。
还有货币因素,它与媒体呈现的复杂程度呈正相关。一切!花钱,甚至是你的时间。它可能是模糊的,但成本是存在的。通用(开源)并不总是更好,因为当您想要使用其他人的资源时,隐藏的成本会浮现。很多时候,$$公司$$使用更有效的工具来操纵他们拥有的资源,而这些工具可能需要特定的语言或技术。也就是说,你并不总是有语言选择。在开发资源方面已经做出了这一决定。
答案 2 :(得分:0)
您指的是计算速度还是编程效率?或许别的什么?
除了实际的数字运算速度之外,语言质量非常主观,有些人认为编程生产力比计算速度更重要。
此外,虽然许多语言都有共同的特征,但每种语言都有特定的目标。这就像比较苹果和橘子一样。
答案 3 :(得分:0)
来自CPU的浮点数等数字不如网页/网络服务等主观,以便在语言之间进行公平比较将是困难的,并且问题通常是如何编写,而不是语言本身。虽然并非不可能,但很难准确地比较语言。
对我来说最简单的比喻是数据库TPC评分机制众所周知,并且确实提供了数据库方面的性能数据,但普通开发人员何时会查看它们?除非你没有在极端水平上工作,否则它们不是你的指导因素(即便如此,数据库还包括使TPC分数更好的优化捷径。)
TPC从中创造了一个非营利性业务,但它需要从竞争产品中大量购买 - 如果MS / Oracle / IBM以及硬件供应商没有购买它,它就不会走得太远。
可以吗?可能,永远不要说永远,但它根本不是微不足道的,需要从多语言供应商,h / w供应商等获得支持。在这一点上,它更多的是销售和市场营销而不是技术。
答案 4 :(得分:-2)
有人为编程语言提出了一套很好的基准吗?
可能没有,这似乎越来越不可能发生 - 请参阅"Flawed Benchmarks",特别是“基准是一个缸”。
我说的是可以用各种语言完全相同的简单事物
是什么让你觉得你可以说他们“在各种语言中完全相同”?程序源代码可能看起来相同,但这并不意味着语言解释器完成相同的操作,或者编译器生成相同的处理器指令。