The Computer Language Benchmarks Game: Difference between revisions

Content deleted Content added
Adding short description: "Free software project" (Shortdesc helper)
m fixed dashes using a script
Line 42:
 
==Metrics==
The following aspects of each given implementation are measured:<ref>{{cite web|url=https://benchmarksgame-team.pages.debian.net/benchmarksgame/how-programs-are-measured.html|title=How programs are measured - The Computer Language Benchmarks Game|website=benchmarksgame-team.pages.debian.net/benchmarksgame/|accessdate=29 May 2018}}</ref>
* overall user [[Run_time_(program_lifecycle_phase)|runtime]]
* peak [[memory allocation]]
Line 52:
 
==Benchmark programs==
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-team.pages.debian.net/benchmarksgame/why-measure-toy-benchmark-programs.html|title=Why toy programs? - The Computer Language Benchmarks Game|website=benchmarksgame-team.pages.debian.net/benchmarksgame|accessdate=29 May 2018}}</ref>
This provides users of the Benchmark Game the opportunity to scrutinize the various implementations.<ref>{{cite web|url=https://benchmarksgame-team.pages.debian.net/benchmarksgame/description/nbody.html#nbody|title=n-body description (64-bit Ubuntu quad core) - Computer Language Benchmarks Game|website=benchmarksgame-team.pages.debian.net/benchmarksgame|accessdate=29 May 2018}}</ref>
* [[Memory management#Dynamic memory allocation|binary-trees]]
* [[Synchronization (computer science)#Thread or process synchronization|chameneos-redux]]
Line 69:
 
==History==
The project was known as ''The Great Computer Language Shootout'' until 2007.<ref>{{cite web|url=https://benchmarksgame-team.pages.debian.net/benchmarksgame/sometimes-people-just-make-up-stuff.html#history|title=Trust, and verify - Computer Language Benchmarks Game|website=benchmarksgame-team.pages.debian.net/benchmarksgame|accessdate=29 May 2018}}</ref>
 
A port for Windows was maintained separately between 2002 and 2003.<ref>{{cite web|url=http://dada.perl.it/shootout/|title=The Great Win32 Computer Language Shootout|website=Dada.perl.it|accessdate=13 December 2017}}</ref>
Line 77:
There are also older 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]]|accessdate=13 December 2017}}</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-team.pages.debian.net/benchmarksgame/play.html|title=Contribute your own program - Computer Language Benchmarks Game|website=benchmarksgame-team.pages.debian.net/benchmarksgame|accessdate=29 May 2018}}</ref>
 
==Caveats==
Line 105:
<ref>{{cite conference|author1=Slava Pestov|author2=Daniel Ehrenberg|author3=Joe Groff|title=Factor: A Dynamic Stack-based Programming Language|date=October 18, 2010|conference=DLS 2010|url=http://factorcode.org/littledan/dls.pdf|accessdate=25 March 2017|___location=Reno/Tahoe, Nevada, USA}}</ref>
<ref>{{cite conference|author1=Andrei Homescu|author2=Alex Suhan|title=HappyJIT: A Tracing JIT Compiler for PHP|date=October 24, 2011|conference=DLS’11|url=https://www.ics.uci.edu/~ahomescu/happyjit_paper.pdf|accessdate=25 March 2017|___location=Portland, Oregon, USA}}</ref>
<ref>{{cite conference|author1=Vincent St-Amour|author2=Sam Tobin-Hochstadt|author3=Matthias Felleisen|title=Optimization Coaching - Optimizers Learn to Communicate with Programmers|date=October 19–26, 2012|conference=OOPSLA’12|url=http://www.ccs.neu.edu/racket/pubs/oopsla12-stf.pdf|accessdate=25 March 2017|___location=Tucson, Arizona, USA}}</ref>
<ref>{{cite conference|author1=Wing Hang Li|author2=David R. White|author3=Jeremy Singer|title=JVM-Hosted Languages: They Talk the Talk, but do they Walk the Walk?|date=September 11–13, 2013|conference=Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools|pages=101–112|url=http://www.dcs.gla.ac.uk/~wingli/jvm_language_study/jvmlanguages.pdf|accessdate=25 March 2017|___location=Stuttgart, Germany}}</ref>
<ref>{{cite conference|author1=Aibek Sarimbekov|author2=Andrej Podzimek|author3=Lubomir Bulej|author4=Yudi Zheng|author5=Nathan Ricci|author6=Walter Binder|title=Characteristics of Dynamic JVM Languages|date=October 28, 2013|conference=VMIL ’13|url=http://d3s.mff.cuni.cz/publications/download/Sarimbekov-vmil13.pdf|accessdate=25 March 2017|___location=Indianapolis, Indiana, USA}}</ref>