All Projects → beepboopitschloe → elixir_port_benchmarks

beepboopitschloe / elixir_port_benchmarks

Licence: other
Quick-and-dirty benchmarks for using Ports to communicate with various languages.

Programming Languages

elixir
2628 projects
java
68154 projects - #9 most used programming language
rust
11053 projects
go
31211 projects - #10 most used programming language
ocaml
1615 projects
javascript
184084 projects - #8 most used programming language
swift
15916 projects

Projects that are alternatives of or similar to elixir port benchmarks

Visual-Tracking-Development
Recent Trackers
Stars: ✭ 93 (+287.5%)
Mutual labels:  benchmark
HeCBench
software.intel.com/content/www/us/en/develop/articles/repo-evaluating-performance-productivity-oneapi.html
Stars: ✭ 85 (+254.17%)
Mutual labels:  benchmark
latenz
JavaScript HTTP latency analyzer
Stars: ✭ 18 (-25%)
Mutual labels:  benchmark
text-style-transfer-benchmark
Text style transfer benchmark
Stars: ✭ 56 (+133.33%)
Mutual labels:  benchmark
benchmark
Parse Server Continuous Benchmark
Stars: ✭ 21 (-12.5%)
Mutual labels:  benchmark
component-runtime
Talend Component Kit (implementation repository)
Stars: ✭ 22 (-8.33%)
Mutual labels:  beam
user-agent-parser-benchmarks
PHP User Agent Parser Benchmarks
Stars: ✭ 29 (+20.83%)
Mutual labels:  benchmark
npm-yarn-benchmark
Bash script for comparing NPM and Yarn performance
Stars: ✭ 42 (+75%)
Mutual labels:  benchmark
hashcatbenchmark
Benchmark in Hashcat for diferents GPU's
Stars: ✭ 19 (-20.83%)
Mutual labels:  benchmark
RGBD-SODsurvey
RGB-D Salient Object Detection: A Survey
Stars: ✭ 171 (+612.5%)
Mutual labels:  benchmark
stringbench
String matching algorithm benchmark
Stars: ✭ 31 (+29.17%)
Mutual labels:  benchmark
go-perftuner
Helper tool for manual Go code optimization.
Stars: ✭ 111 (+362.5%)
Mutual labels:  benchmark
KAREN
KAREN: Unifying Hatespeech Detection and Benchmarking
Stars: ✭ 18 (-25%)
Mutual labels:  benchmark
benchmark-http
No description or website provided.
Stars: ✭ 15 (-37.5%)
Mutual labels:  benchmark
krun
High fidelity benchmark runner
Stars: ✭ 70 (+191.67%)
Mutual labels:  benchmark
godot-size-benchmarks
Benchmarks to compare Godot binary sizes with different build-time options
Stars: ✭ 36 (+50%)
Mutual labels:  benchmark
SciMLBenchmarks.jl
Benchmarks for scientific machine learning (SciML) software and differential equation solvers
Stars: ✭ 195 (+712.5%)
Mutual labels:  benchmark
http bench
golang HTTP stress test tool, support single and distributed
Stars: ✭ 142 (+491.67%)
Mutual labels:  benchmark
rop-benchmark
ROP Benchmark is a tool to compare ROP compilers
Stars: ✭ 23 (-4.17%)
Mutual labels:  benchmark
CARLA
CARLA: A Python Library to Benchmark Algorithmic Recourse and Counterfactual Explanation Algorithms
Stars: ✭ 166 (+591.67%)
Mutual labels:  benchmark

PortBenchmark

Quick-and-dirty benchmarks for using Ports to communicate with various languages.

Latest Stats

Here are the results as of Feb 03, 2017 on a very old 2009-era AMD Phenom 2 Desktop:

Settings:
  duration:      1.0 s

## LargeMsgBench
large message is 8010 bytes.
[12:28:02] 1/10: go
[12:28:05] 2/10: java
[12:28:08] 3/10: node
[12:28:10] 4/10: ocaml
[12:28:13] 5/10: rust
## SmallMsgBench
small message is 102 bytes.
[12:28:16] 6/10: go
[12:28:18] 7/10: java
[12:28:21] 8/10: node
[12:28:24] 9/10: ocaml
[12:28:26] 10/10: rust

Finished in 26.72 seconds

## LargeMsgBench
benchm iterations   average time
rust        50000   53.28 µs/op
ocaml       20000   84.54 µs/op
go          20000   94.96 µs/op
node        10000   136.08 µs/op
java        10000   197.80 µs/op
## SmallMsgBench
benchm iterations   average time
rust       100000   20.90 µs/op
ocaml      100000   21.44 µs/op
go         100000   24.25 µs/op
java        50000   32.77 µs/op
node        50000   52.35 µs/op

Running the Benchmarks

$ mix deps.get
$ mix compile
$ mix bench

Compiling

Compiling the native applications for your system, run these from within the ./bench directory:

go compile go_port.go
rustc -C opt-level=3 rust_port.rs
ocamlopt -o ocaml_port ocaml_port.ml
swiftc swift_port.swift

Contributing

If you'd like to add new benchmarks for other languages, please do! Right now there is no structure to speak of; just add the necessary code to ./bench/.

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].