awesome-benchmarks
From Wikipedia:
In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it.
Programming Languages
- The Computer Language Benchmarks Game Website that shows toy-program performance measurements for ~24 language implementations.
- Loop Recognition in C++/Java/Go/Scala covers data structures, algorithms, iteration, and memory allocation patterns. After internal publication at Google, engineers optimized implementations for runtime performance and code complexity, addressing common pain points in each language. Also a published paper by Robert Hundt in 2011.
- PyBench This test profile evaluates Python's average performance on a system. It measures the total time taken by various average timed test results, including functions like BuiltinFunctionCalls and NestedForLoops. The total time offers an approximate idea of Python's overall performance on the system.
- SPECjbb 2015 The SPECjbb® 2015 benchmark has been developed from the ground up to measure performance based on the latest Java application features. It is relevant to all audiences who are interested in Java server performance.
- [Archived] arewefastyet a set of tools used for benchmarking the major browser's JavaScript virtual machines against each other, as well as reporting the results on a website as insightful graphs showing the evolution of performance over time.
Browser
HTTP Server
- awesome-http-benchmark HTTP(S) benchmark tools, testing/debugging, & restAPI (RESTful)
- TechEmpower Web Framework Benchmarks is a performance comparison of many web application frameworks executing fundamental tasks such as JSON serialization, database access, and server-side template composition. Each framework is operating in a realistic production configuration. Results are captured on cloud instances and on physical hardware.
Platform & Tools
- OpenBenchmarking.org Effective collaboration tools for sharing results and efficiently comparing multiple test results and other analytical features.
Code Generation
MultiPL-E is a multi-programming language benchmark for evaluating the code generation performance of large language model (LLMs) of code.
Tests
- Test262 Report is a tool for people who write JavaScript programs for web browsers and node.js to learn about implementation interoperability. This report is backed by comprehensive specification-conformance tests. This data-driven approach to interoperability reporting sets Test262 Report apart from traditional compatibility tables.
Other
Need to be added:
- W. H. Li, D. R. White, and J. Singer. JVM-hosted Languages: They Talk the Talk, but Do They Walk the Walk? In Proc. of PPPJ, pages 101–112. ACM, 2013. doi: 10.1145/2500828.2500838.
- A. Sarimbekov, A. Podzimek, L. Bulej, Y. Zheng, N. Ricci, and W. Binder. Characteristics of Dynamic JVM Languages. In Proc. of VMIL, pages 11–20. ACM, 2013. doi: 10.1145/2542142.2542144.
- Stefan Marr, Benoit Daloze, Hanspeter Mössenböck. 2016. Cross-Language Compiler Benchmarking: Are We Fast Yet? In Proceedings of the 12th Symposium on Dynamic Languages (DLS '16). ACM.