Skip to content

Transition all the language contribution over to the in-process runner #371

@PEZ

Description

@PEZ

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:

  1. run-ms, how long the benched function should be benchmarked
  2. warmup-ms, how long the benched function should be called for warmup purposes
  3. x, 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! ❤

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:

Image

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions