SUPPORT THE WORK

GetWiki

The Computer Language Benchmarks Game

ARTICLE SUBJECTS
aesthetics  →
being  →
complexity  →
database  →
enterprise  →
ethics  →
fiction  →
history  →
internet  →
knowledge  →
language  →
licensing  →
linux  →
logic  →
method  →
news  →
perception  →
philosophy  →
policy  →
purpose  →
religion  →
science  →
sociology  →
software  →
truth  →
unix  →
wiki  →
ARTICLE TYPES
essay  →
feed  →
help  →
system  →
wiki  →
ARTICLE ORIGINS
critical  →
discussion  →
forked  →
imported  →
original  →
The Computer Language Benchmarks Game
[ temporary import ]
please note:
- the content below is remote from Wikipedia
- it has been imported raw for GetWiki
{{short description|Free software project}}The Computer Language Benchmarks Game (formerly called The Great Computer Language Shootout) is a free software project for comparing how a given subset of simple algorithms can be implemented in various popular programming languages.The project consists of:
  • A set of very simple algorithmic problems
  • Various implementations to the above problems in various programming languages
  • A set of unit tests to verify that the submitted implementations solve the problem statement
  • A framework for running and timing the implementations
  • A website to facilitate the interactive comparison of the results

Supported languages

Due to resource constraints, only a small subset of common programming languages are supported, up to the discretion of the game's operator.WEB,weblink The Computer Language Benchmarks Game, benchmarksgame-team.pages.debian.net/benchmarksgame, 29 May 2018, {{Collapsible list| title = List of supported languages
Ada (programming language)>AdaC (programming_language)>CChapel (programming language)>ChapelC Sharp (programming language)>C#| 6 = C++Dart (programming language)>DartErlang (programming language)>ErlangF Sharp (programming language)>F#| 10 = FortranGo (programming language)>Go| 12 = HaskellJava (programming language)>Java| 14 = JavaScriptJulia (programming language)>JuliaLisp (programming language)>LispLua (programming language)>Lua| 18 = OCamlPascal (programming language)>Pascal| 20 = Perl| 21 = PHPPython (programming language)>PythonRacket (programming language)>RacketRuby (programming language)>RubyRust (programming language)>Rust| 28 = SmalltalkSwift (programming language)>Swift}}

Metrics

The following aspects of each given implementation are measured:WEB,weblink How programs are measured – The Computer Language Benchmarks Game, benchmarksgame-team.pages.debian.net/benchmarksgame/, 29 May 2018, It is common to see multiple solutions in the same programming language for the same problem. This highlights that within the constraints of a given language, a solution can be given which is either of high abstraction, is memory efficient, is fast, or can be parallelized better.

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.WEB,weblink Why toy programs? – The Computer Language Benchmarks Game, benchmarksgame-team.pages.debian.net/benchmarksgame, 29 May 2018, This provides users of the Benchmark Game the opportunity to scrutinize the various implementations.WEB,weblink n-body description (64-bit Ubuntu quad core) – Computer Language Benchmarks Game, benchmarksgame-team.pages.debian.net/benchmarksgame, 29 May 2018,

History

The project was known as The Great Computer Language Shootout until 2007.WEB,weblink Trust, and verify – Computer Language Benchmarks Game, benchmarksgame-team.pages.debian.net/benchmarksgame, 29 May 2018, A port for Windows was maintained separately between 2002 and 2003.WEB,weblink The Great Win32 Computer Language Shootout, Dada.perl.it, 13 December 2017, The sources have been archived on GitLab.WEB,weblink archive-alioth-benchmarksgame, salsa.debian.org/benchmarksgame-team, 29 May 2018, There are also older forks on GitHub.WEB,weblink benchmarksgame-cvs-mirror: A git mirror of the benchmarksgame cvs repository, Sebastian, Thiel, 24 October 2017, GitHub, 13 December 2017, The project is continuously evolving. The list of supported programming languages is updated approximately once per year, following market trends. Users can also submit improved solutions to any of the problems or suggest testing methodology refinement.WEB,weblink Contribute your own program – Computer Language Benchmarks Game, benchmarksgame-team.pages.debian.net/benchmarksgame, 29 May 2018,

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 compiler 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.Various research articles have been based on the benchmarks, its results and its methodology.JOURNAL, Kevin Williams, Jason McCandless, David Gregg, Dynamic Interpretation for Dynamic Scripting Languages, 2009,weblink 25 March 2017, CONFERENCE, Tobias Wrigstad, Francesco Zappa Nardelli, Sylvain Lebresne Johan, Ostlund Jan Vitek, Integrating Typed and Untyped Code in a Scripting Language, January 17–23, 2009, POPL’10,weblink 25 March 2017, Madrid, Spain, CONFERENCE, Lerche, Carl, Write Fast Ruby: It's All About the Science, Golden Gate Ruby Conference, April 17–18, 2009,weblink 25 March 2017, San Francisco, California, CONFERENCE, J. Shirako, D. M. Peixotto, V. Sarkar, W. N. Scherer III, Phaser Accumulators: a New Reduction Construct for Dynamic Parallelism, 2009, IEEE International Symposium on Parallel & Distributed Processing,weblink 25 March 2017, JOURNAL,
author = Rajesh Karmani and Amin Shali and Gul Agha, Actor frameworks for the JVM platform: A Comparative Analysis, In Proceedings of the 7th International Conference on the Principles and Practice of Programming in Java, 2009,weblink 26 March 2017
, CONFERENCE, Brunthaler Stefan, Inline Caching Meets Quickening, 2010, Object-Oriented Programming, European Conference on Object-Oriented Programming (ECOOP), 429–451, 10.1007/978-3-642-14107-2_21, CONFERENCE, Prodromos Gerakios, Nikolaos Papaspyrou, Konstantinos Sagonas, Race-free and Memory-safe Multithreading: Design and Implementation in Cyclone, January 23, 2010, Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation, 15–26,weblink 25 March 2017, Madrid, Spain, CONFERENCE, Slava Pestov, Daniel Ehrenberg, Joe Groff, Factor: A Dynamic Stack-based Programming Language, October 18, 2010, DLS 2010,weblink 25 March 2017, Reno/Tahoe, Nevada, USA, CONFERENCE, Andrei Homescu, Alex Suhan, HappyJIT: A Tracing JIT Compiler for PHP, October 24, 2011, DLS’11,weblink 25 March 2017, Portland, Oregon, USA, CONFERENCE, Vincent St-Amour, Sam Tobin-Hochstadt, Matthias Felleisen, Optimization Coaching – Optimizers Learn to Communicate with Programmers, October 19–26, 2012, OOPSLA’12,weblink 25 March 2017, Tucson, Arizona, USA, CONFERENCE, Wing Hang Li, David R. White, Jeremy Singer, JVM-Hosted Languages: They Talk the Talk, but do they Walk the Walk?, September 11–13, 2013, Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, 101–112,weblink 25 March 2017, Stuttgart, Germany, CONFERENCE, Aibek Sarimbekov, Andrej Podzimek, Lubomir Bulej, Yudi Zheng, Nathan Ricci, Walter Binder, Characteristics of Dynamic JVM Languages, October 28, 2013, VMIL ’13,weblink 25 March 2017, Indianapolis, Indiana, USA, CONFERENCE, Bradford L. Chamberlain, Ben Albrecht, Lydia Duncan, Ben Harshbarger, Entering the Fray: Chapel's Computer Language Benchmark Game Entry, 2017,weblink 25 March 2017, {{Excessive citations inline|date=April 2023}}

See also

References

{{Reflist}}

External links

  • {{Official website}}


- content above as imported from Wikipedia
- "The Computer Language Benchmarks Game" does not exist on GetWiki (yet)
- time: 12:06pm EDT - Sat, May 04 2024
[ this remote article is provided by Wikipedia ]
LATEST EDITS [ see all ]
GETWIKI 23 MAY 2022
GETWIKI 09 JUL 2019
Eastern Philosophy
History of Philosophy
GETWIKI 09 MAY 2016
GETWIKI 18 OCT 2015
M.R.M. Parrott
Biographies
GETWIKI 20 AUG 2014
CONNECT