All Projects → kennyalive → Language-Arena

kennyalive / Language-Arena

Licence: MIT license
C++ vs D vs Go benchmark

Programming Languages

C++
36643 projects - #6 most used programming language
d
599 projects
go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Language-Arena

php-simple-benchmark-script
Очень простой скрипт тестирования быстродействия PHP | Very simple script for testing of PHP operations speed (rusoft repo mirror)
Stars: ✭ 50 (+163.16%)
Mutual labels:  benchmark
github-action-benchmark
GitHub Action for continuous benchmarking to keep performance
Stars: ✭ 592 (+3015.79%)
Mutual labels:  benchmark
scATAC-benchmarking
Benchmarking computational single cell ATAC-seq methods
Stars: ✭ 137 (+621.05%)
Mutual labels:  benchmark
ronin
RoNIN: Robust Neural Inertial Navigation in the Wild
Stars: ✭ 144 (+657.89%)
Mutual labels:  benchmark
LFattNet
Attention-based View Selection Networks for Light-field Disparity Estimation
Stars: ✭ 41 (+115.79%)
Mutual labels:  benchmark
NPB-CPP
NAS Parallel Benchmark Kernels in C/C++. The parallel versions are in FastFlow, TBB, and OpenMP.
Stars: ✭ 18 (-5.26%)
Mutual labels:  benchmark
map benchmark
Comprehensive benchmarks of C++ maps
Stars: ✭ 132 (+594.74%)
Mutual labels:  benchmark
perf
Linux Perf subsystem bindings for Go
Stars: ✭ 19 (+0%)
Mutual labels:  benchmark
CBLUE
中文医疗信息处理基准CBLUE: A Chinese Biomedical Language Understanding Evaluation Benchmark
Stars: ✭ 379 (+1894.74%)
Mutual labels:  benchmark
benchdiff
No description or website provided.
Stars: ✭ 41 (+115.79%)
Mutual labels:  benchmark
benchmark-kit
phpbenchmarks.com kit to add your benchmark.
Stars: ✭ 31 (+63.16%)
Mutual labels:  benchmark
link-too-big
Link Too Big? Make Link Short
Stars: ✭ 12 (-36.84%)
Mutual labels:  benchmark
criterion
statistics-driven micro-benchmarking framework
Stars: ✭ 17 (-10.53%)
Mutual labels:  benchmark
ftsb
Full Text Search Benchmark, a tool for comparing and evaluating full-text search engines.
Stars: ✭ 12 (-36.84%)
Mutual labels:  benchmark
eCommerceSearchBench
E-commerce search benchmark is the first end-to-end application benchmark for e-commerce search system with personalized recommendations.This work is joint with Prof. Jianfeng Zhan (http://www.benchcouncil.org/zjf.html) 's team, who is also the chair of International Open Benchmark Council (BenchCouncil, http://www.benchcouncil.org/).
Stars: ✭ 29 (+52.63%)
Mutual labels:  benchmark
facies classification benchmark
The repository includes PyTorch code, and the data, to reproduce the results for our paper titled "A Machine Learning Benchmark for Facies Classification" (published in the SEG Interpretation Journal, August 2019).
Stars: ✭ 79 (+315.79%)
Mutual labels:  benchmark
Java-Logging-Framework-Benchmark
Suite for benchmarking Java logging frameworks.
Stars: ✭ 16 (-15.79%)
Mutual labels:  benchmark
sbt-jmh
"Trust no one, bench everything." - sbt plugin for JMH (Java Microbenchmark Harness)
Stars: ✭ 740 (+3794.74%)
Mutual labels:  benchmark
Edge-Detection-project
Tiny Image in Javascript - Edge Detection Algorithms
Stars: ✭ 27 (+42.11%)
Mutual labels:  benchmark
touchstone
Smart benchmarking of pull requests with statistical confidence
Stars: ✭ 33 (+73.68%)
Mutual labels:  benchmark

language-arena

language-arena is a performance benchmark of statically typed programming languages that compile to native code.

cpp_logo dlang_logo go_logo

Example results 2016

Windows ( full report)
PlaceLanguageScore
1D50
2C++35
3Go5

Example results 2015

Windows ( full report)
PlaceLanguageScore
1C++, D50
2Go0
Linux ( full report)
PlaceLanguageScore
1C++50
2D40
3Go0

Getting up and running

Python is required to run the benchmark.
Update config.py from the project's root by specifying paths to the compilers you are interested in.
Run the launcher script (./run.sh or run.bat).

Benchmarks

Simple benchmarks (quick-sort, reflections-math)

The goal of a simple benchmark is to perform basic sanity check. It is expected that compilers will produce executables with similar performance for simple benchmarks. If it's not the case then either compiler is not mature enough or architecture of programming language imposes limitations for generating high performance code even for simple scenarios.

Complex benchmarks (kdtree-construction, kdtree-raycast)

Complex benchmarks implement non-trivial algorithms. These benchmarks have higher chances to detect the influence of the language design on performance characteristics. They also provide an opportunity for the compilers to demonstrate their optimization skills.

Scoring

Benchmark Type 1st place 2nd place >= 3rd place
simple 10 points 5 points 0 points
complex 20 points 10 points 0 points

Scoring is performed on a per-language basis. If the benchmark for particular language is compiled with multiple compilers then the fastest result is selected for scores calculation.

Maximum possible score = 10 + 10 + 20 + 20 = 60

Additionally per-language and per-compiler relative running times are computed.

Compiler notes

Linux support:

  • C++: gcc, clang
  • D: dmd, gdc, ldc
  • Go: go, gccgo

Windows support:

  • C++: msvc
  • D: dmd, ldc
  • Go : go

Where to get compilers?

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].