Skip to content

Instantly share code, notes, and snippets.

@dom96
Last active September 25, 2019 08:59
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dom96/77b32e36b62377b2e7cadf09575b8883 to your computer and use it in GitHub Desktop.
Save dom96/77b32e36b62377b2e7cadf09575b8883 to your computer and use it in GitHub Desktop.

Source code: https://gitlab.com/gasche/gc-latency-experiment/merge_requests/16

Hardware:

  • MacBook Pro (Retina, 13-inch, Early 2015)
    • 2.7 GHz Intel Core i5
    • 16 GB 1867 MHz DDR3

Compilers:

  • Nim Compiler Version 0.16.1 (2017-04-05) [MacOSX: amd64]
    • make run-nim
  • java version "1.8.0_66"
    • make run-java-map-g1
  • go version go1.8.1 darwin/amd64
    • make run-go
  • D (LDC2 1.1.1 (DMD v2.071.2, LLVM 4.0.0))
    • make run-d
  • Haskell (The Glorious Glasgow Haskell Compilation System, version 8.0.2)
    • make run-haskell

Results: (Each run specifies the maximum pause time)

Language Run #1 (ms) Run #2 (ms) Run #3 (ms) Avg (ms) RSS (mb)
Nim 0.7460 0.5247 0.7781 0.6829 277
D 2.861 2.138 2.604 2.534 2
Go 12.07 19.69 13.23 15.00 430
Java 83 30 35 49.33 561
Haskell 71.0 70.0 70.2 70.4 595

(D was crossed out because its only implementation uses a map)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment