-
Notifications
You must be signed in to change notification settings - Fork 335
Description
Since yesterday we merged:
TL;DR: The programs bench the execution time of the benched function, to remove start/setup times from the measurements. The programs need now accept three arguments:
run-ms, how long the benched function should be benchmarkedwarmup-ms, how long the benched function should be called for warmup purposesx, the input. The type of input varies between benchmarks. In the case of Levenshtein this is a file path.
Now starts a process of porting the existing contributions! The README explains in some more detail what's involved.
Ported Languages
If you pick up a language, please comment on this issue so that we can help each other and see what's going on better.
Thanks in advance for help with completing this checklist, dear programming languages enthusiasts! ❤
- Ada
- Babashka
- Bun
- Bun (Compiled)
- Bun Scala-JS
- Bun Scala-JS(Compiled)
- C
- C# In-process runner #381
- C# AOT
- C3
- Chez Scheme
- Clojure
- Clojure Native
- COBOL
- Common Lisp
- C++ In-process runner #379
- Crystal In-process runner #387
- Dart In-process runner #382
- Deno
- Elixir
- Emojicode
- Emacs Lisp Bytecode
- Emacs Lisp Native
- F# In-process runner #383
- F# AOT
- Fortran in-process runner #372
- Free Pascal
- Go in-process runner #411
- Haskell
- Inko
- Java
- Java Native
- Julia in-process runner #410
- Kotlin JVM
- Kotlin Native
- Lua in-process runner #412
- LuaJIT
- Nim
- Node
- Objective-C in-process runner #413
- Odin
- PHP
- PHP JIT
- PyPy
- Python in-process runner #405
- Python JIT
- R
- Racket in-process runner #408
- Ruby In-process runner #404
- Ruby YJIT
- Rust In-Process Runner #385
- Scala
- Scala-Native
- Swift in-process runner #414
- V
- Zig In-Process Runner #384
Less urgent
But please don't hesitate to contribute to them anyway.
- AWK
- Bun (jitless)
- D
- Deno (jitless)
- Hare
- Haxe JVM
- MAWK
- Modula 2
- Node (jitless)
- Octave
Benchmarks runs
As we go with this I can keep running the languages that are ported and that my toolchain setup allows for. I have made my visualizer accept a gist URL with CSV as an argument.
| Date | Gist | Visualization |
|---|---|---|
| 2025-01-25 | PEZ/411e2da1af3bbe21c4ad1d626451ec1d | languages-visualizations |
A snapshot from a Levenshtein run i just did on my Mac M4:
