Content deleted Content added
m Dating maintenance tags: {{Linkrot}} |
Removed clean-up tag |
||
Line 8:
* A website to facilitate the interactive comparison of the results
==
Due to resource constraints, only a small subset of common programming languages are supported, up to the discretion of the game's operator.<ref>{{cite web|url=https://benchmarksgame.alioth.debian.org/|title=The Computer Language Benchmarks Game|website=
▲Due to resource constraints, only a small subset of common programming languages are supported, up to the discretion of the game's operator.<ref>{{cite web|url=https://benchmarksgame.alioth.debian.org/|title=The Computer Language Benchmarks Game|website=benchmarksgame.alioth.debian.org}}</ref>
{{Collapsible list
|title=List of supported languages
Line 46 ⟶ 44:
}}
==
The following aspects of each given implementation are measured:<ref>{{cite web|url=https://benchmarksgame.alioth.debian.org/how-programs-are-measured.html|title=details - The Computer Language Benchmarks Game|website=
▲The following aspects of each given implementation are measured:<ref>{{cite web|url=https://benchmarksgame.alioth.debian.org/how-programs-are-measured.html|title=details - The Computer Language Benchmarks Game|website=benchmarksgame.alioth.debian.org}}</ref>
* overall user runtime
* peak memory allocation
Line 58 ⟶ 54:
It is common to see multiple solutions in the same programming language for the same problem. This highlights that within the bounds of a given language, a solution can be given which is either of high abstraction, is memory efficiency, fast, or parallelizes better.
==
It was a design choice from the start to only include very simple toy problems, each providing a different kind of programming challenge.<ref>{{cite web|url=https://benchmarksgame.alioth.debian.org/why-measure-toy-benchmark-programs.html|title=Toy benchmark programs - The Computer Language Benchmarks Game|website=Benchmarksgame.alioth.debian.org|accessdate=13 December 2017}}</ref>
This provides users of the Benchmark Game the opportunity to scrutinize the various implementations.<ref>{{cite web|url=https://benchmarksgame.alioth.debian.org/u64q/nbody-description.html#nbody|title=n-body description (64-bit Ubuntu quad core) - Computer Language Benchmarks Game|website=benchmarksgame.alioth.debian.org}}</ref>▼
* [[Memory management#Dynamic memory allocation|binary-trees]]
* [[Synchronization (computer science)#Thread or process synchronization|chameneos-redux]]
Line 77 ⟶ 71:
* [[Context switch#Multitasking|thread-ring]]
==
▲
Information about the project's history and lineage can be found at WikiWikiWeb.<ref>[http://wiki.c2.com/?GreatComputerLanguageShootout] {{dead link|date=December 2017}}</ref><ref>[http://wiki.c2.com/?ComputerLanguageBenchmarksGame] {{dead link|date=December 2017}}</ref>▼
The sources are kept in CVS, but it also has multiple forks on GitHub.<ref>{{cite web|url=https://github.com/Byron/benchmarksgame-cvs-mirror|title=benchmarksgame-cvs-mirror: A git mirror of the benchmarksgame cvs repository|first=Sebastian|last=Thiel|date=24 October 2017|publisher=[[GitHub]]|
▲Information about the project's history and lineage can be found at WikiWikiWeb.<ref>http://wiki.c2.com/?GreatComputerLanguageShootout</ref><ref>http://wiki.c2.com/?ComputerLanguageBenchmarksGame</ref>
The project is continuously evolving. The list of supported programming languages is updated approximately once per annum, following market trends. Users can also submit improved solutions to any of the problems or suggest testing methodology refinement.<ref>{{cite web|url=https://benchmarksgame.alioth.debian.org/play.html|title=Contribute your programs - The Computer Language Benchmarks Game|website=
▲The sources are kept in CVS, but it also has multiple forks on GitHub.<ref>{{cite web|url=https://github.com/Byron/benchmarksgame-cvs-mirror|title=benchmarksgame-cvs-mirror: A git mirror of the benchmarksgame cvs repository|first=Sebastian|last=Thiel|date=24 October 2017|publisher=|via=GitHub}}</ref>
▲The project is continuously evolving. The list of supported programming languages is updated approximately once per annum, following market trends. Users can also submit improved solutions to any of the problems or suggest testing methodology refinement.<ref>{{cite web|url=https://benchmarksgame.alioth.debian.org/play.html|title=Contribute your programs - The Computer Language Benchmarks Game|website=benchmarksgame.alioth.debian.org}}</ref>
== Caveats ==▼
The developers themselves highlight the fact that those doing research should exercise caution when using such microbenchmarks:
{{quotation|[...] the JavaScript benchmarks are fleetingly small, and behave in ways that are significantly different than the real applications. We have documented numerous differences in behavior, and we conclude from these measured differences that results based on the benchmarks may mislead JavaScript engine implementers. Furthermore, we observe interesting behaviors in real JavaScript applications that the benchmarks fail to exhibit, suggesting that previously unexplored optimization strategies may be productive in practice.
== Impact ==▼
The benchmark results have uncovered various compilers issues. Sometimes a given compiler failed to process unusual, but otherwise grammatically valid constructs. At other times, runtime performance was shown to be below expectations, which prompted compiler developers to revise their optimization capabilities.
Line 121 ⟶ 112:
<ref>{{cite conference|author1=Bradford L. Chamberlain|author2=Ben Albrecht|author3=Lydia Duncan|author4=Ben Harshbarger|title=Entering the Fray: Chapel’s Computer Language Benchmark Game Entry|date=2017|url=http://chapel.cray.com/CHIUW/2017/chamberlain-abstract.pdf|accessdate=25 March 2017}}</ref>
==
* [[Benchmark (computing)]]
* [[Comparison of programming languages]]
== External links ==▼
* [https://benchmarksgame.alioth.debian.org/ official website]
▲== References ==
▲{{Reflist|30em}}
[[Category:Programming language comparisons| ]]
|