{"id":13625126,"url":"https://github.com/kostya/benchmarks","last_synced_at":"2025-05-14T05:11:37.205Z","repository":{"id":21843089,"uuid":"25166255","full_name":"kostya/benchmarks","owner":"kostya","description":"Some benchmarks of different languages","archived":false,"fork":false,"pushed_at":"2024-11-21T03:10:16.000Z","size":1886,"stargazers_count":2855,"open_issues_count":53,"forks_count":258,"subscribers_count":97,"default_branch":"master","last_synced_at":"2025-04-10T00:15:28.142Z","etag":null,"topics":["benchmarks","languages"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kostya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-10-13T16:08:23.000Z","updated_at":"2025-04-04T14:54:08.000Z","dependencies_parsed_at":"2023-11-07T04:42:51.513Z","dependency_job_id":"f3d88557-06c1-46e9-afae-7eaa7826f260","html_url":"https://github.com/kostya/benchmarks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kostya%2Fbenchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kostya%2Fbenchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kostya%2Fbenchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kostya%2Fbenchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kostya","download_url":"https://codeload.github.com/kostya/benchmarks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmarks","languages"],"created_at":"2024-08-01T21:01:51.130Z","updated_at":"2025-05-14T05:11:32.181Z","avatar_url":"https://github.com/kostya.png","language":"Makefile","funding_links":[],"categories":["Makefile","Performance Benchmark"],"sub_categories":[],"readme":"# Table of Content\n\n\u003c!-- toc-begin --\u003e\n* [Overview](#overview)\n  * [Measurements](#measurements)\n* [Test Cases](#test-cases)\n  * [Brainfuck](#brainfuck)\n    * [bench.b](#benchb)\n    * [mandel.b](#mandelb)\n  * [Base64](#base64)\n  * [Json](#json)\n  * [Matmul](#matmul)\n  * [Primes](#primes)\n* [Tests Execution](#tests-execution)\n  * [Environment](#environment)\n  * [Using Docker](#using-docker)\n  * [Manual Execution](#manual-execution)\n    * [Prerequisites](#prerequisites)\n* [Contribution](#contribution)\n  * [Makefile guide](#makefile-guide)\n    * [Binary executables](#binary-executables)\n    * [Compiled artifacts](#compiled-artifacts)\n    * [Scripting language](#scripting-language)\n  * [README update](#readme-update)\n  * [Docker image update](#docker-image-update)\n\u003c!-- toc-end --\u003e\n\n# Overview\n\nThe benchmarks follow the criteria:\n\n  - They are written as the average software developer would write them, i.e.\n\n    - The algorithms are implemented as cited in public sources;\n    - The libraries are used as described in the tutorials, documentation and examples;\n    - The used data structures are idiomatic.\n\n  - The used algorithms are similar between the languages (as the reference implementations), variants are acceptable if the reference implementation exists.\n  - All final binaries are releases (optimized for performance if possible) as debug performance may vary too much depending on the compiler.\n\nMy other benchmarks: [jit-benchmarks](https://github.com/kostya/jit-benchmarks), [crystal-benchmarks-game](https://github.com/kostya/crystal-benchmarks-game)\n\n## Measurements\n\nThe measured values are:\n\n - time spent for the benchmark execution (loading required data and code self-testing are not measured);\n - memory consumption of the benchmark process, reported as `base` + `increase`, where `base` is the RSS before the benchmark and `increase` is the peak increase of the RSS during the benchmark;\n - energy consumption of the CPU package during the benchmark: PP0 (cores) + PP1 (uncores like GPU) + DRAM. Currently, only Intel CPU are supported via the powercap interface.\n\nAll values are presented as: `median`\u003csub\u003e±`median absolute deviation`\u003c/sub\u003e.\n\nUPDATE: 2024-11-13\n\n# Test Cases\n\n## Brainfuck\n\nTesting brainfuck implementations using two code samples (bench.b and mandel.b).\nSupports two mode:\n\n - Verbose (default). Prints the output immediately.\n - Quiet (if QUIET environment variable is set). Accumulates the output using Fletcher-16 checksum, and prints it out after the benchmark.\n\n[Brainfuck](brainfuck)\n\n### bench.b\n|               Language |                  Time, s |                                       Memory, MiB |                  Energy, J |\n| :--------------------- | -----------------------: | ------------------------------------------------: | -------------------------: |\n|         Scala (Staged) |   0.425\u003csub\u003e±0.017\u003c/sub\u003e |  208.26\u003csub\u003e±02.66\u003c/sub\u003e + 36.81\u003csub\u003e±04.81\u003c/sub\u003e |     27.57\u003csub\u003e±01.62\u003c/sub\u003e |\n|        Racket (Staged) |   0.885\u003csub\u003e±0.000\u003c/sub\u003e |   105.98\u003csub\u003e±00.09\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     34.27\u003csub\u003e±00.03\u003c/sub\u003e |\n|                   Rust |   1.012\u003csub\u003e±0.000\u003c/sub\u003e |     2.00\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     42.99\u003csub\u003e±00.30\u003c/sub\u003e |\n|                C++/g++ |   1.095\u003csub\u003e±0.002\u003c/sub\u003e |     3.38\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     45.08\u003csub\u003e±00.23\u003c/sub\u003e |\n|                  C/gcc |   1.111\u003csub\u003e±0.001\u003c/sub\u003e |     1.50\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     46.73\u003csub\u003e±00.25\u003c/sub\u003e |\n|                  D/gdc |   1.118\u003csub\u003e±0.002\u003c/sub\u003e |     6.75\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     48.63\u003csub\u003e±00.23\u003c/sub\u003e |\n|                C/clang |   1.138\u003csub\u003e±0.001\u003c/sub\u003e |     1.38\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     48.14\u003csub\u003e±00.11\u003c/sub\u003e |\n|            C++/clang++ |   1.166\u003csub\u003e±0.000\u003c/sub\u003e |     2.88\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     49.24\u003csub\u003e±01.17\u003c/sub\u003e |\n|                 D/ldc2 |   1.167\u003csub\u003e±0.001\u003c/sub\u003e |     3.12\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     49.12\u003csub\u003e±00.20\u003c/sub\u003e |\n|                Nim/gcc |   1.168\u003csub\u003e±0.001\u003c/sub\u003e |     1.94\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     48.20\u003csub\u003e±00.22\u003c/sub\u003e |\n|                   Java |   1.188\u003csub\u003e±0.000\u003c/sub\u003e |    42.25\u003csub\u003e±00.11\u003c/sub\u003e + 0.81\u003csub\u003e±00.06\u003c/sub\u003e |     48.12\u003csub\u003e±00.33\u003c/sub\u003e |\n|                  V/gcc |   1.198\u003csub\u003e±0.001\u003c/sub\u003e |     2.12\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     47.85\u003csub\u003e±00.12\u003c/sub\u003e |\n|               Vala/gcc |   1.210\u003csub\u003e±0.001\u003c/sub\u003e |     5.38\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     50.36\u003csub\u003e±00.52\u003c/sub\u003e |\n|             Kotlin/JVM |   1.227\u003csub\u003e±0.002\u003c/sub\u003e |    44.92\u003csub\u003e±00.09\u003c/sub\u003e + 0.88\u003csub\u003e±00.12\u003c/sub\u003e |     51.69\u003csub\u003e±00.13\u003c/sub\u003e |\n|             Vala/clang |   1.234\u003csub\u003e±0.000\u003c/sub\u003e |     5.31\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     52.04\u003csub\u003e±00.89\u003c/sub\u003e |\n|                     Go |   1.247\u003csub\u003e±0.001\u003c/sub\u003e |     3.62\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     51.44\u003csub\u003e±00.38\u003c/sub\u003e |\n|                    Zig |   1.266\u003csub\u003e±0.003\u003c/sub\u003e |     1.25\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     53.30\u003csub\u003e±01.05\u003c/sub\u003e |\n|               Go/gccgo |   1.288\u003csub\u003e±0.000\u003c/sub\u003e |    23.88\u003csub\u003e±00.12\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     54.12\u003csub\u003e±00.51\u003c/sub\u003e |\n|           C#/.NET Core |   1.367\u003csub\u003e±0.001\u003c/sub\u003e |    32.38\u003csub\u003e±00.06\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |     58.25\u003csub\u003e±00.89\u003c/sub\u003e |\n|                  Julia |   1.551\u003csub\u003e±0.014\u003c/sub\u003e |   248.75\u003csub\u003e±00.06\u003c/sub\u003e + 0.25\u003csub\u003e±00.00\u003c/sub\u003e |     66.53\u003csub\u003e±00.84\u003c/sub\u003e |\n|              Nim/clang |   1.582\u003csub\u003e±0.000\u003c/sub\u003e |     2.12\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     64.79\u003csub\u003e±00.92\u003c/sub\u003e |\n|           F#/.NET Core |   1.593\u003csub\u003e±0.002\u003c/sub\u003e |    37.49\u003csub\u003e±00.06\u003c/sub\u003e + 0.38\u003csub\u003e±00.12\u003c/sub\u003e |     68.98\u003csub\u003e±01.23\u003c/sub\u003e |\n|                Crystal |   1.635\u003csub\u003e±0.004\u003c/sub\u003e |     3.44\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     68.71\u003csub\u003e±00.54\u003c/sub\u003e |\n|                  OCaml |   1.657\u003csub\u003e±0.003\u003c/sub\u003e |     3.25\u003csub\u003e±00.00\u003c/sub\u003e + 2.62\u003csub\u003e±00.00\u003c/sub\u003e |     76.47\u003csub\u003e±00.71\u003c/sub\u003e |\n|            Chez Scheme |   1.748\u003csub\u003e±0.002\u003c/sub\u003e |    25.12\u003csub\u003e±00.00\u003c/sub\u003e + 3.38\u003csub\u003e±00.00\u003c/sub\u003e |     73.58\u003csub\u003e±00.24\u003c/sub\u003e |\n|                 Racket |   1.794\u003csub\u003e±0.027\u003c/sub\u003e |   93.84\u003csub\u003e±00.05\u003c/sub\u003e + 22.75\u003csub\u003e±00.19\u003c/sub\u003e |     73.46\u003csub\u003e±01.48\u003c/sub\u003e |\n|                V/clang |   1.891\u003csub\u003e±0.019\u003c/sub\u003e |     2.06\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     82.57\u003csub\u003e±01.03\u003c/sub\u003e |\n|                C#/Mono |   2.034\u003csub\u003e±0.001\u003c/sub\u003e |    25.84\u003csub\u003e±00.12\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |     86.11\u003csub\u003e±00.25\u003c/sub\u003e |\n|                  MLton |   2.077\u003csub\u003e±0.011\u003c/sub\u003e |     1.75\u003csub\u003e±00.00\u003c/sub\u003e + 0.38\u003csub\u003e±00.00\u003c/sub\u003e |     86.06\u003csub\u003e±01.09\u003c/sub\u003e |\n|                  Scala |   2.777\u003csub\u003e±0.005\u003c/sub\u003e |  62.17\u003csub\u003e±00.16\u003c/sub\u003e + 145.05\u003csub\u003e±00.32\u003c/sub\u003e |    122.07\u003csub\u003e±00.64\u003c/sub\u003e |\n|                Node.js |   3.150\u003csub\u003e±0.005\u003c/sub\u003e |    46.78\u003csub\u003e±00.00\u003c/sub\u003e + 6.12\u003csub\u003e±00.00\u003c/sub\u003e |    131.99\u003csub\u003e±01.28\u003c/sub\u003e |\n|       Haskell (MArray) |   3.236\u003csub\u003e±0.003\u003c/sub\u003e |     4.12\u003csub\u003e±00.00\u003c/sub\u003e + 4.12\u003csub\u003e±00.00\u003c/sub\u003e |    134.34\u003csub\u003e±00.29\u003c/sub\u003e |\n|                  D/dmd |   3.328\u003csub\u003e±0.001\u003c/sub\u003e |     3.50\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |    125.22\u003csub\u003e±00.34\u003c/sub\u003e |\n|           Haskell (FP) |   3.786\u003csub\u003e±0.003\u003c/sub\u003e |     4.25\u003csub\u003e±00.06\u003c/sub\u003e + 4.00\u003csub\u003e±00.00\u003c/sub\u003e |    160.86\u003csub\u003e±00.26\u003c/sub\u003e |\n|       Ruby/truffleruby |   4.669\u003csub\u003e±0.152\u003c/sub\u003e | 201.88\u003csub\u003e±00.69\u003c/sub\u003e + 814.31\u003csub\u003e±49.81\u003c/sub\u003e |    225.04\u003csub\u003e±10.28\u003c/sub\u003e |\n|                  Swift |   5.593\u003csub\u003e±0.008\u003c/sub\u003e |    17.38\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |    210.94\u003csub\u003e±02.31\u003c/sub\u003e |\n|             Lua/luajit |   5.687\u003csub\u003e±0.024\u003c/sub\u003e |     2.62\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |    234.94\u003csub\u003e±01.49\u003c/sub\u003e |\n| Ruby/truffleruby (JVM) |   5.884\u003csub\u003e±0.028\u003c/sub\u003e | 390.44\u003csub\u003e±02.98\u003c/sub\u003e + 468.57\u003csub\u003e±35.67\u003c/sub\u003e |    289.91\u003csub\u003e±02.92\u003c/sub\u003e |\n|            Python/pypy |   9.575\u003csub\u003e±0.073\u003c/sub\u003e |   60.50\u003csub\u003e±00.12\u003c/sub\u003e + 29.45\u003csub\u003e±00.01\u003c/sub\u003e |    426.59\u003csub\u003e±05.95\u003c/sub\u003e |\n|                  Idris |  15.559\u003csub\u003e±0.040\u003c/sub\u003e |    20.63\u003csub\u003e±00.06\u003c/sub\u003e + 8.38\u003csub\u003e±00.00\u003c/sub\u003e |    700.59\u003csub\u003e±04.61\u003c/sub\u003e |\n|                 Elixir |  20.530\u003csub\u003e±0.047\u003c/sub\u003e |    71.27\u003csub\u003e±00.45\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |    816.30\u003csub\u003e±01.74\u003c/sub\u003e |\n|           Ruby (--jit) |  31.953\u003csub\u003e±0.050\u003c/sub\u003e |    21.47\u003csub\u003e±00.07\u003c/sub\u003e + 4.88\u003csub\u003e±00.00\u003c/sub\u003e |   1320.18\u003csub\u003e±03.40\u003c/sub\u003e |\n|                    PHP |  34.067\u003csub\u003e±0.088\u003c/sub\u003e |    18.88\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   1442.70\u003csub\u003e±16.86\u003c/sub\u003e |\n|                    Lua |  37.027\u003csub\u003e±0.060\u003c/sub\u003e |     2.62\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   1523.51\u003csub\u003e±15.61\u003c/sub\u003e |\n|                 Python |  54.076\u003csub\u003e±0.669\u003c/sub\u003e |    11.88\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   2418.75\u003csub\u003e±26.40\u003c/sub\u003e |\n|                   Ruby |  71.836\u003csub\u003e±0.205\u003c/sub\u003e |    11.31\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   3123.03\u003csub\u003e±27.59\u003c/sub\u003e |\n|             Ruby/jruby |  79.903\u003csub\u003e±1.524\u003c/sub\u003e | 203.90\u003csub\u003e±02.51\u003c/sub\u003e + 222.73\u003csub\u003e±32.77\u003c/sub\u003e |   3573.69\u003csub\u003e±72.79\u003c/sub\u003e |\n|               Tcl (FP) | 193.372\u003csub\u003e±0.720\u003c/sub\u003e |     4.62\u003csub\u003e±00.12\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  8541.35\u003csub\u003e±121.54\u003c/sub\u003e |\n|                   Perl | 223.395\u003csub\u003e±1.420\u003c/sub\u003e |     7.06\u003csub\u003e±00.06\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |   9755.30\u003csub\u003e±45.94\u003c/sub\u003e |\n|              Tcl (OOP) | 382.403\u003csub\u003e±3.408\u003c/sub\u003e |     4.62\u003csub\u003e±00.12\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e | 16926.54\u003csub\u003e±148.14\u003c/sub\u003e |\n\n### mandel.b\n\n[Mandel in Brainfuck](brainfuck/mandel.b)\n\n|               Language |                 Time, s |                                       Memory, MiB |                Energy, J |\n| :--------------------- | ----------------------: | ------------------------------------------------: | -----------------------: |\n|         Scala (Staged) |  7.751\u003csub\u003e±0.157\u003c/sub\u003e | 211.17\u003csub\u003e±04.45\u003c/sub\u003e + 132.95\u003csub\u003e±12.75\u003c/sub\u003e |  465.58\u003csub\u003e±11.30\u003c/sub\u003e |\n|                C++/g++ | 10.076\u003csub\u003e±0.018\u003c/sub\u003e |     3.50\u003csub\u003e±00.00\u003c/sub\u003e + 0.62\u003csub\u003e±00.00\u003c/sub\u003e |  416.16\u003csub\u003e±01.64\u003c/sub\u003e |\n|           C#/.NET Core | 11.991\u003csub\u003e±0.035\u003c/sub\u003e |    32.56\u003csub\u003e±00.06\u003c/sub\u003e + 1.38\u003csub\u003e±00.00\u003c/sub\u003e |  481.39\u003csub\u003e±02.69\u003c/sub\u003e |\n|                   Java | 12.441\u003csub\u003e±0.041\u003c/sub\u003e |    42.18\u003csub\u003e±00.16\u003c/sub\u003e + 2.18\u003csub\u003e±00.07\u003c/sub\u003e |  500.84\u003csub\u003e±03.37\u003c/sub\u003e |\n|                  C/gcc | 12.597\u003csub\u003e±0.005\u003c/sub\u003e |     1.62\u003csub\u003e±00.00\u003c/sub\u003e + 0.25\u003csub\u003e±00.00\u003c/sub\u003e |  509.44\u003csub\u003e±01.23\u003c/sub\u003e |\n|            C++/clang++ | 12.910\u003csub\u003e±0.015\u003c/sub\u003e |     3.00\u003csub\u003e±00.00\u003c/sub\u003e + 0.62\u003csub\u003e±00.00\u003c/sub\u003e |  534.77\u003csub\u003e±00.89\u003c/sub\u003e |\n|             Kotlin/JVM | 13.168\u003csub\u003e±0.070\u003c/sub\u003e |    44.94\u003csub\u003e±00.06\u003c/sub\u003e + 1.94\u003csub\u003e±00.27\u003c/sub\u003e |  551.88\u003csub\u003e±02.60\u003c/sub\u003e |\n|                C/clang | 13.205\u003csub\u003e±0.013\u003c/sub\u003e |     1.62\u003csub\u003e±00.00\u003c/sub\u003e + 0.25\u003csub\u003e±00.00\u003c/sub\u003e |  581.89\u003csub\u003e±04.42\u003c/sub\u003e |\n|                    Zig | 13.314\u003csub\u003e±0.028\u003c/sub\u003e |     1.38\u003csub\u003e±00.06\u003c/sub\u003e + 1.00\u003csub\u003e±00.00\u003c/sub\u003e |  558.65\u003csub\u003e±04.76\u003c/sub\u003e |\n|           F#/.NET Core | 13.335\u003csub\u003e±0.024\u003c/sub\u003e |    37.61\u003csub\u003e±00.06\u003c/sub\u003e + 2.12\u003csub\u003e±00.12\u003c/sub\u003e |  534.94\u003csub\u003e±02.52\u003c/sub\u003e |\n|                     Go | 14.113\u003csub\u003e±0.014\u003c/sub\u003e |     3.62\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  568.61\u003csub\u003e±02.43\u003c/sub\u003e |\n|                   Rust | 14.242\u003csub\u003e±0.020\u003c/sub\u003e |     1.88\u003csub\u003e±00.00\u003c/sub\u003e + 0.25\u003csub\u003e±00.00\u003c/sub\u003e |  569.99\u003csub\u003e±01.08\u003c/sub\u003e |\n|                 D/ldc2 | 14.272\u003csub\u003e±0.019\u003c/sub\u003e |     3.25\u003csub\u003e±00.06\u003c/sub\u003e + 0.75\u003csub\u003e±00.00\u003c/sub\u003e |  584.52\u003csub\u003e±03.64\u003c/sub\u003e |\n|                  V/gcc | 14.333\u003csub\u003e±0.038\u003c/sub\u003e |     2.12\u003csub\u003e±00.06\u003c/sub\u003e + 1.00\u003csub\u003e±00.00\u003c/sub\u003e |  560.92\u003csub\u003e±03.16\u003c/sub\u003e |\n|               Vala/gcc | 14.436\u003csub\u003e±0.031\u003c/sub\u003e |     5.38\u003csub\u003e±00.00\u003c/sub\u003e + 0.62\u003csub\u003e±00.00\u003c/sub\u003e |  572.24\u003csub\u003e±04.78\u003c/sub\u003e |\n|        Racket (Staged) | 14.758\u003csub\u003e±0.159\u003c/sub\u003e |  105.70\u003csub\u003e±00.14\u003c/sub\u003e + 71.38\u003csub\u003e±01.87\u003c/sub\u003e |  584.52\u003csub\u003e±06.50\u003c/sub\u003e |\n|             Vala/clang | 14.781\u003csub\u003e±0.010\u003c/sub\u003e |     5.38\u003csub\u003e±00.12\u003c/sub\u003e + 0.62\u003csub\u003e±00.00\u003c/sub\u003e |  593.05\u003csub\u003e±01.04\u003c/sub\u003e |\n|                Crystal | 14.942\u003csub\u003e±0.019\u003c/sub\u003e |     3.50\u003csub\u003e±00.00\u003c/sub\u003e + 0.25\u003csub\u003e±00.00\u003c/sub\u003e |  631.98\u003csub\u003e±02.50\u003c/sub\u003e |\n|                Nim/gcc | 15.017\u003csub\u003e±0.014\u003c/sub\u003e |     2.06\u003csub\u003e±00.06\u003c/sub\u003e + 1.50\u003csub\u003e±00.00\u003c/sub\u003e |  608.83\u003csub\u003e±01.49\u003c/sub\u003e |\n|                  D/gdc | 15.433\u003csub\u003e±0.016\u003c/sub\u003e |     6.75\u003csub\u003e±00.00\u003c/sub\u003e + 0.88\u003csub\u003e±00.00\u003c/sub\u003e |  642.43\u003csub\u003e±03.76\u003c/sub\u003e |\n|                  Scala | 16.477\u003csub\u003e±0.112\u003c/sub\u003e |  62.29\u003csub\u003e±00.09\u003c/sub\u003e + 144.88\u003csub\u003e±00.19\u003c/sub\u003e |  717.49\u003csub\u003e±03.80\u003c/sub\u003e |\n|              Nim/clang | 17.695\u003csub\u003e±0.052\u003c/sub\u003e |     2.38\u003csub\u003e±00.12\u003c/sub\u003e + 1.50\u003csub\u003e±00.00\u003c/sub\u003e |  719.34\u003csub\u003e±09.74\u003c/sub\u003e |\n|                  Swift | 18.038\u003csub\u003e±0.044\u003c/sub\u003e |    17.62\u003csub\u003e±00.12\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |  740.60\u003csub\u003e±03.26\u003c/sub\u003e |\n|                V/clang | 18.356\u003csub\u003e±0.084\u003c/sub\u003e |     2.12\u003csub\u003e±00.06\u003c/sub\u003e + 1.00\u003csub\u003e±00.00\u003c/sub\u003e |  806.70\u003csub\u003e±06.57\u003c/sub\u003e |\n|               Go/gccgo | 18.686\u003csub\u003e±0.314\u003c/sub\u003e |    24.06\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  773.76\u003csub\u003e±12.67\u003c/sub\u003e |\n|                  OCaml | 24.514\u003csub\u003e±0.018\u003c/sub\u003e |     4.38\u003csub\u003e±00.00\u003c/sub\u003e + 3.12\u003csub\u003e±00.00\u003c/sub\u003e | 1178.94\u003csub\u003e±06.82\u003c/sub\u003e |\n|                  Julia | 30.494\u003csub\u003e±0.068\u003c/sub\u003e |   248.88\u003csub\u003e±00.00\u003c/sub\u003e + 0.25\u003csub\u003e±00.00\u003c/sub\u003e | 1291.74\u003csub\u003e±10.50\u003c/sub\u003e |\n|                C#/Mono | 31.075\u003csub\u003e±0.053\u003c/sub\u003e |    25.81\u003csub\u003e±00.15\u003c/sub\u003e + 0.75\u003csub\u003e±00.00\u003c/sub\u003e | 1320.05\u003csub\u003e±03.33\u003c/sub\u003e |\n|            Chez Scheme | 31.201\u003csub\u003e±0.191\u003c/sub\u003e |    25.45\u003csub\u003e±00.00\u003c/sub\u003e + 3.12\u003csub\u003e±00.00\u003c/sub\u003e | 1372.33\u003csub\u003e±16.13\u003c/sub\u003e |\n|             Lua/luajit | 31.900\u003csub\u003e±0.061\u003c/sub\u003e |     2.50\u003csub\u003e±00.06\u003c/sub\u003e + 0.25\u003csub\u003e±00.00\u003c/sub\u003e | 1318.65\u003csub\u003e±02.87\u003c/sub\u003e |\n|                  MLton | 33.684\u003csub\u003e±0.058\u003c/sub\u003e |     1.75\u003csub\u003e±00.00\u003c/sub\u003e + 4.27\u003csub\u003e±00.00\u003c/sub\u003e | 1527.54\u003csub\u003e±10.09\u003c/sub\u003e |\n|                Node.js | 34.372\u003csub\u003e±0.081\u003c/sub\u003e |    46.80\u003csub\u003e±00.00\u003c/sub\u003e + 8.62\u003csub\u003e±00.12\u003c/sub\u003e | 1380.19\u003csub\u003e±03.68\u003c/sub\u003e |\n|       Haskell (MArray) | 35.178\u003csub\u003e±0.039\u003c/sub\u003e |     4.00\u003csub\u003e±00.06\u003c/sub\u003e + 5.12\u003csub\u003e±00.00\u003c/sub\u003e | 1431.66\u003csub\u003e±08.02\u003c/sub\u003e |\n|                 Racket | 35.789\u003csub\u003e±0.831\u003c/sub\u003e |   93.83\u003csub\u003e±00.07\u003c/sub\u003e + 23.62\u003csub\u003e±00.12\u003c/sub\u003e | 1591.23\u003csub\u003e±45.98\u003c/sub\u003e |\n|                  D/dmd | 37.954\u003csub\u003e±0.004\u003c/sub\u003e |     3.38\u003csub\u003e±00.06\u003c/sub\u003e + 0.88\u003csub\u003e±00.00\u003c/sub\u003e | 1390.20\u003csub\u003e±05.03\u003c/sub\u003e |\n|            Python/pypy | 41.239\u003csub\u003e±0.111\u003c/sub\u003e |   60.38\u003csub\u003e±00.12\u003c/sub\u003e + 30.13\u003csub\u003e±00.05\u003c/sub\u003e | 1834.39\u003csub\u003e±16.72\u003c/sub\u003e |\n|       Ruby/truffleruby | 48.778\u003csub\u003e±0.439\u003c/sub\u003e | 201.31\u003csub\u003e±00.94\u003c/sub\u003e + 734.44\u003csub\u003e±18.06\u003c/sub\u003e | 2375.16\u003csub\u003e±22.12\u003c/sub\u003e |\n| Ruby/truffleruby (JVM) | 50.823\u003csub\u003e±2.734\u003c/sub\u003e | 393.21\u003csub\u003e±05.77\u003c/sub\u003e + 405.25\u003csub\u003e±32.51\u003c/sub\u003e | 2255.45\u003csub\u003e±41.59\u003c/sub\u003e |\n|                  Idris | 66.743\u003csub\u003e±0.120\u003c/sub\u003e |    21.82\u003csub\u003e±00.00\u003c/sub\u003e + 9.25\u003csub\u003e±00.00\u003c/sub\u003e | 2977.76\u003csub\u003e±12.58\u003c/sub\u003e |\n|           Haskell (FP) | 78.765\u003csub\u003e±0.269\u003c/sub\u003e |    4.00\u003csub\u003e±00.00\u003c/sub\u003e + 76.00\u003csub\u003e±00.00\u003c/sub\u003e | 3323.00\u003csub\u003e±06.05\u003c/sub\u003e |\n\n## Base64\n\nTesting base64 encoding/decoding of the large blob into the newly allocated buffers.\n\n[Base64](base64)\n\n|                  Language |                 Time, s |                                       Memory, MiB |               Energy, J |\n| :------------------------ | ----------------------: | ------------------------------------------------: | ----------------------: |\n|          C/clang (aklomp) |  0.095\u003csub\u003e±0.001\u003c/sub\u003e |     2.12\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   4.50\u003csub\u003e±00.05\u003c/sub\u003e |\n|            C/gcc (aklomp) |  0.097\u003csub\u003e±0.000\u003c/sub\u003e |     2.12\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   4.56\u003csub\u003e±00.02\u003c/sub\u003e |\n|                       PHP |  0.105\u003csub\u003e±0.000\u003c/sub\u003e |    19.25\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   4.93\u003csub\u003e±00.03\u003c/sub\u003e |\n|              Go (base64x) |  0.275\u003csub\u003e±0.002\u003c/sub\u003e |     6.62\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  13.00\u003csub\u003e±00.06\u003c/sub\u003e |\n|                   Node.js |  0.663\u003csub\u003e±0.004\u003c/sub\u003e |   45.19\u003csub\u003e±00.02\u003c/sub\u003e + 40.96\u003csub\u003e±00.16\u003c/sub\u003e |  29.74\u003csub\u003e±00.50\u003c/sub\u003e |\n|                       Zig |  0.703\u003csub\u003e±0.000\u003c/sub\u003e |     1.75\u003csub\u003e±00.00\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |  26.41\u003csub\u003e±00.10\u003c/sub\u003e |\n|                      Rust |  0.875\u003csub\u003e±0.000\u003c/sub\u003e |     2.38\u003csub\u003e±00.00\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |  36.15\u003csub\u003e±00.19\u003c/sub\u003e |\n|                   C/clang |  0.918\u003csub\u003e±0.000\u003c/sub\u003e |     2.00\u003csub\u003e±00.00\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |  33.80\u003csub\u003e±00.13\u003c/sub\u003e |\n|                 Nim/clang |  0.944\u003csub\u003e±0.002\u003c/sub\u003e |     2.81\u003csub\u003e±00.06\u003c/sub\u003e + 4.94\u003csub\u003e±00.06\u003c/sub\u003e |  37.54\u003csub\u003e±00.31\u003c/sub\u003e |\n|                   Crystal |  1.039\u003csub\u003e±0.001\u003c/sub\u003e |     3.88\u003csub\u003e±00.00\u003c/sub\u003e + 1.00\u003csub\u003e±00.00\u003c/sub\u003e |  42.82\u003csub\u003e±00.44\u003c/sub\u003e |\n|                     C/gcc |  1.106\u003csub\u003e±0.001\u003c/sub\u003e |     1.88\u003csub\u003e±00.00\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |  40.27\u003csub\u003e±00.33\u003c/sub\u003e |\n|                    D/ldc2 |  1.179\u003csub\u003e±0.001\u003c/sub\u003e |     3.75\u003csub\u003e±00.00\u003c/sub\u003e + 3.38\u003csub\u003e±00.00\u003c/sub\u003e |  48.73\u003csub\u003e±00.37\u003c/sub\u003e |\n|                   Nim/gcc |  1.347\u003csub\u003e±0.001\u003c/sub\u003e |     2.62\u003csub\u003e±00.00\u003c/sub\u003e + 4.62\u003csub\u003e±00.00\u003c/sub\u003e |  54.54\u003csub\u003e±00.35\u003c/sub\u003e |\n|                      Java |  1.433\u003csub\u003e±0.002\u003c/sub\u003e |  43.05\u003csub\u003e±00.10\u003c/sub\u003e + 215.12\u003csub\u003e±03.94\u003c/sub\u003e |  59.06\u003csub\u003e±00.69\u003c/sub\u003e |\n|              Ruby (--jit) |  1.503\u003csub\u003e±0.002\u003c/sub\u003e |   15.09\u003csub\u003e±00.06\u003c/sub\u003e + 72.88\u003csub\u003e±00.38\u003c/sub\u003e |  58.96\u003csub\u003e±00.26\u003c/sub\u003e |\n|                     Scala |  1.531\u003csub\u003e±0.002\u003c/sub\u003e |  59.09\u003csub\u003e±00.11\u003c/sub\u003e + 265.94\u003csub\u003e±05.44\u003c/sub\u003e |  65.30\u003csub\u003e±00.39\u003c/sub\u003e |\n|                Kotlin/JVM |  1.567\u003csub\u003e±0.003\u003c/sub\u003e |  45.92\u003csub\u003e±00.12\u003c/sub\u003e + 263.50\u003csub\u003e±05.75\u003c/sub\u003e |  67.15\u003csub\u003e±00.22\u003c/sub\u003e |\n|                     V/gcc |  1.630\u003csub\u003e±0.001\u003c/sub\u003e |  2.62\u003csub\u003e±00.00\u003c/sub\u003e + 2379.12\u003csub\u003e±01.50\u003c/sub\u003e |  59.57\u003csub\u003e±00.39\u003c/sub\u003e |\n|                  Vala/gcc |  1.645\u003csub\u003e±0.001\u003c/sub\u003e |     5.75\u003csub\u003e±00.00\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |  63.19\u003csub\u003e±00.43\u003c/sub\u003e |\n|                Vala/clang |  1.645\u003csub\u003e±0.001\u003c/sub\u003e |     5.81\u003csub\u003e±00.06\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |  63.50\u003csub\u003e±01.04\u003c/sub\u003e |\n|                        Go |  1.659\u003csub\u003e±0.005\u003c/sub\u003e |     4.25\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  68.14\u003csub\u003e±00.65\u003c/sub\u003e |\n|   C++/clang++ (libcrypto) |  1.705\u003csub\u003e±0.003\u003c/sub\u003e |     6.06\u003csub\u003e±00.06\u003c/sub\u003e + 0.11\u003csub\u003e±00.00\u003c/sub\u003e |  68.13\u003csub\u003e±00.60\u003c/sub\u003e |\n|       C++/g++ (libcrypto) |  1.706\u003csub\u003e±0.004\u003c/sub\u003e |     6.50\u003csub\u003e±00.00\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |  68.03\u003csub\u003e±00.51\u003c/sub\u003e |\n|                      Ruby |  1.738\u003csub\u003e±0.002\u003c/sub\u003e |   11.75\u003csub\u003e±00.06\u003c/sub\u003e + 39.74\u003csub\u003e±00.39\u003c/sub\u003e |  68.37\u003csub\u003e±00.46\u003c/sub\u003e |\n|       Perl (MIME::Base64) |  2.000\u003csub\u003e±0.003\u003c/sub\u003e |    14.94\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  80.98\u003csub\u003e±00.50\u003c/sub\u003e |\n|              C#/.NET Core |  2.494\u003csub\u003e±0.039\u003c/sub\u003e |   33.85\u003csub\u003e±00.03\u003c/sub\u003e + 17.63\u003csub\u003e±01.91\u003c/sub\u003e |  97.82\u003csub\u003e±01.66\u003c/sub\u003e |\n|              F#/.NET Core |  2.580\u003csub\u003e±0.027\u003c/sub\u003e |   38.48\u003csub\u003e±00.01\u003c/sub\u003e + 19.97\u003csub\u003e±01.83\u003c/sub\u003e |  98.40\u003csub\u003e±01.39\u003c/sub\u003e |\n|                       Tcl |  2.753\u003csub\u003e±0.005\u003c/sub\u003e |     5.12\u003csub\u003e±00.00\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e | 114.23\u003csub\u003e±00.59\u003c/sub\u003e |\n|                    Python |  2.872\u003csub\u003e±0.001\u003c/sub\u003e |    11.62\u003csub\u003e±00.00\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e | 112.57\u003csub\u003e±00.90\u003c/sub\u003e |\n|                     Julia |  2.983\u003csub\u003e±0.002\u003c/sub\u003e |  263.48\u003csub\u003e±00.11\u003c/sub\u003e + 28.98\u003csub\u003e±00.08\u003c/sub\u003e | 120.37\u003csub\u003e±00.91\u003c/sub\u003e |\n|                  Go/gccgo |  3.020\u003csub\u003e±0.005\u003c/sub\u003e |    25.00\u003csub\u003e±00.12\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e | 142.55\u003csub\u003e±00.34\u003c/sub\u003e |\n|                   V/clang |  3.248\u003csub\u003e±0.001\u003c/sub\u003e |  2.75\u003csub\u003e±00.00\u003c/sub\u003e + 2388.56\u003csub\u003e±00.50\u003c/sub\u003e | 119.99\u003csub\u003e±00.66\u003c/sub\u003e |\n|               Python/pypy |  3.249\u003csub\u003e±0.009\u003c/sub\u003e |   60.25\u003csub\u003e±00.12\u003c/sub\u003e + 31.31\u003csub\u003e±00.05\u003c/sub\u003e | 143.38\u003csub\u003e±01.06\u003c/sub\u003e |\n|    Ruby/truffleruby (JVM) |  3.443\u003csub\u003e±0.007\u003c/sub\u003e | 389.16\u003csub\u003e±05.72\u003c/sub\u003e + 294.50\u003csub\u003e±17.44\u003c/sub\u003e | 173.84\u003csub\u003e±01.07\u003c/sub\u003e |\n|                    Racket |  3.903\u003csub\u003e±0.006\u003c/sub\u003e |   93.95\u003csub\u003e±00.11\u003c/sub\u003e + 25.88\u003csub\u003e±00.12\u003c/sub\u003e | 155.48\u003csub\u003e±00.43\u003c/sub\u003e |\n|                     D/gdc |  3.920\u003csub\u003e±0.001\u003c/sub\u003e |     7.06\u003csub\u003e±00.06\u003c/sub\u003e + 3.75\u003csub\u003e±00.06\u003c/sub\u003e | 162.11\u003csub\u003e±01.78\u003c/sub\u003e |\n|                     D/dmd |  4.020\u003csub\u003e±0.002\u003c/sub\u003e |     3.62\u003csub\u003e±00.00\u003c/sub\u003e + 3.38\u003csub\u003e±00.00\u003c/sub\u003e | 164.62\u003csub\u003e±00.95\u003c/sub\u003e |\n|                   C#/Mono |  4.800\u003csub\u003e±0.010\u003c/sub\u003e |   26.58\u003csub\u003e±00.20\u003c/sub\u003e + 18.86\u003csub\u003e±00.03\u003c/sub\u003e | 198.99\u003csub\u003e±01.14\u003c/sub\u003e |\n|                Ruby/jruby |  6.210\u003csub\u003e±0.070\u003c/sub\u003e | 196.29\u003csub\u003e±01.99\u003c/sub\u003e + 144.32\u003csub\u003e±10.97\u003c/sub\u003e | 273.42\u003csub\u003e±04.78\u003c/sub\u003e |\n|          Ruby/truffleruby |  8.259\u003csub\u003e±0.038\u003c/sub\u003e | 200.88\u003csub\u003e±00.50\u003c/sub\u003e + 542.00\u003csub\u003e±02.56\u003c/sub\u003e | 399.78\u003csub\u003e±03.55\u003c/sub\u003e |\n| Perl (MIME::Base64::Perl) | 10.394\u003csub\u003e±0.088\u003c/sub\u003e |    16.25\u003csub\u003e±00.06\u003c/sub\u003e + 0.21\u003csub\u003e±00.03\u003c/sub\u003e | 457.56\u003csub\u003e±03.07\u003c/sub\u003e |\n\n## Json\n\nTesting parsing and simple calculating of values from a big JSON file.\n\nFew notes:\n\n - gason mutates input strings;\n - simdjson requires input strings with batch of trailing zeros: a special zero padding for SIMD instructions;\n - DAW JSON Link \"NoCheck\" skips some JSON structure correctness checks;\n - DAW JSON Link, gason, default (not \"Precise\") RapidJSON, and D implementations except Mir-based\nhave some inaccuracies in number parsing:\n   - [DAW JSON Link's number parsing issue](https://github.com/beached/daw_json_link/issues/226)\n   - [gason's number parsing issue](https://github.com/vivkin/gason/issues/35)\n   - [D stdlib number parsing issue](https://issues.dlang.org/show_bug.cgi?id=20967)\n\n[Json](json)\n\n|                            Language |                 Time, s |                                         Memory, MiB |               Energy, J |\n| :---------------------------------- | ----------------------: | --------------------------------------------------: | ----------------------: |\n|    C++/clang++ (simdjson On-Demand) |  0.061\u003csub\u003e±0.000\u003c/sub\u003e |    112.88\u003csub\u003e±00.00\u003c/sub\u003e + 59.75\u003csub\u003e±00.00\u003c/sub\u003e |   2.55\u003csub\u003e±00.01\u003c/sub\u003e |\n|        C++/g++ (simdjson On-Demand) |  0.061\u003csub\u003e±0.000\u003c/sub\u003e |    113.50\u003csub\u003e±00.00\u003c/sub\u003e + 59.75\u003csub\u003e±00.00\u003c/sub\u003e |   2.56\u003csub\u003e±00.01\u003c/sub\u003e |\n| C++/clang++ (DAW JSON Link NoCheck) |  0.071\u003csub\u003e±0.000\u003c/sub\u003e |     112.71\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   2.95\u003csub\u003e±00.03\u003c/sub\u003e |\n|     C++/g++ (DAW JSON Link NoCheck) |  0.083\u003csub\u003e±0.000\u003c/sub\u003e |     113.21\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   3.39\u003csub\u003e±00.02\u003c/sub\u003e |\n|         C++/clang++ (DAW JSON Link) |  0.092\u003csub\u003e±0.000\u003c/sub\u003e |     112.77\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   3.84\u003csub\u003e±00.03\u003c/sub\u003e |\n|             C++/g++ (DAW JSON Link) |  0.092\u003csub\u003e±0.000\u003c/sub\u003e |     113.33\u003csub\u003e±00.01\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   3.78\u003csub\u003e±00.04\u003c/sub\u003e |\n|          C++/clang++ (simdjson DOM) |  0.103\u003csub\u003e±0.001\u003c/sub\u003e |   112.81\u003csub\u003e±00.06\u003c/sub\u003e + 174.75\u003csub\u003e±00.81\u003c/sub\u003e |   4.67\u003csub\u003e±00.06\u003c/sub\u003e |\n|              C++/g++ (simdjson DOM) |  0.105\u003csub\u003e±0.001\u003c/sub\u003e |   113.38\u003csub\u003e±00.00\u003c/sub\u003e + 172.62\u003csub\u003e±00.31\u003c/sub\u003e |   4.82\u003csub\u003e±00.05\u003c/sub\u003e |\n|                 Rust (Serde Custom) |  0.107\u003csub\u003e±0.000\u003c/sub\u003e |     111.62\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   4.54\u003csub\u003e±00.03\u003c/sub\u003e |\n|                  Rust (Serde Typed) |  0.112\u003csub\u003e±0.000\u003c/sub\u003e |    111.62\u003csub\u003e±00.00\u003c/sub\u003e + 12.12\u003csub\u003e±00.00\u003c/sub\u003e |   4.73\u003csub\u003e±00.07\u003c/sub\u003e |\n|                     C++/g++ (gason) |  0.127\u003csub\u003e±0.000\u003c/sub\u003e |    113.21\u003csub\u003e±00.00\u003c/sub\u003e + 96.75\u003csub\u003e±00.00\u003c/sub\u003e |   5.11\u003csub\u003e±00.06\u003c/sub\u003e |\n|               D/ldc2 (Mir Asdf DOM) |  0.132\u003csub\u003e±0.000\u003c/sub\u003e |    112.88\u003csub\u003e±00.00\u003c/sub\u003e + 61.25\u003csub\u003e±00.00\u003c/sub\u003e |   5.41\u003csub\u003e±00.05\u003c/sub\u003e |\n|                 C++/clang++ (gason) |  0.134\u003csub\u003e±0.000\u003c/sub\u003e |    112.70\u003csub\u003e±00.06\u003c/sub\u003e + 96.75\u003csub\u003e±00.00\u003c/sub\u003e |   5.32\u003csub\u003e±00.03\u003c/sub\u003e |\n|                 C++/g++ (RapidJSON) |  0.144\u003csub\u003e±0.002\u003c/sub\u003e |   113.34\u003csub\u003e±00.06\u003c/sub\u003e + 125.54\u003csub\u003e±01.73\u003c/sub\u003e |   6.15\u003csub\u003e±00.12\u003c/sub\u003e |\n|              Scala (jsoniter-scala) |  0.153\u003csub\u003e±0.001\u003c/sub\u003e |    279.53\u003csub\u003e±00.11\u003c/sub\u003e + 26.48\u003csub\u003e±00.73\u003c/sub\u003e |   8.43\u003csub\u003e±00.17\u003c/sub\u003e |\n|                   Go (rjson custom) |  0.194\u003csub\u003e±0.000\u003c/sub\u003e |     113.94\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   7.52\u003csub\u003e±00.02\u003c/sub\u003e |\n|             C++/clang++ (RapidJSON) |  0.195\u003csub\u003e±0.001\u003c/sub\u003e |   112.83\u003csub\u003e±00.00\u003c/sub\u003e + 128.62\u003csub\u003e±00.00\u003c/sub\u003e |   8.20\u003csub\u003e±00.03\u003c/sub\u003e |\n|         C++/g++ (RapidJSON Precise) |  0.202\u003csub\u003e±0.001\u003c/sub\u003e |   113.34\u003csub\u003e±00.00\u003c/sub\u003e + 128.75\u003csub\u003e±00.00\u003c/sub\u003e |   8.61\u003csub\u003e±00.08\u003c/sub\u003e |\n|                          Go (Sonic) |  0.204\u003csub\u003e±0.002\u003c/sub\u003e |     123.62\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   8.87\u003csub\u003e±00.07\u003c/sub\u003e |\n|       D/ldc2 (Mir Amazon's Ion DOM) |  0.220\u003csub\u003e±0.001\u003c/sub\u003e |    112.88\u003csub\u003e±00.00\u003c/sub\u003e + 80.75\u003csub\u003e±00.00\u003c/sub\u003e |   9.32\u003csub\u003e±00.03\u003c/sub\u003e |\n|                          Go (rjson) |  0.221\u003csub\u003e±0.000\u003c/sub\u003e |     114.00\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   8.58\u003csub\u003e±00.04\u003c/sub\u003e |\n|                                 Zig |  0.225\u003csub\u003e±0.000\u003c/sub\u003e |    111.12\u003csub\u003e±00.00\u003c/sub\u003e + 39.25\u003csub\u003e±00.00\u003c/sub\u003e |   9.76\u003csub\u003e±00.13\u003c/sub\u003e |\n|                  Go (goccy/go-json) |  0.260\u003csub\u003e±0.001\u003c/sub\u003e |     114.44\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  10.41\u003csub\u003e±00.16\u003c/sub\u003e |\n|     C++/clang++ (RapidJSON Precise) |  0.262\u003csub\u003e±0.001\u003c/sub\u003e |   112.71\u003csub\u003e±00.00\u003c/sub\u003e + 128.75\u003csub\u003e±00.00\u003c/sub\u003e |  11.06\u003csub\u003e±00.14\u003c/sub\u003e |\n|             C++/g++ (RapidJSON SAX) |  0.351\u003csub\u003e±0.001\u003c/sub\u003e |     113.21\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  15.53\u003csub\u003e±00.10\u003c/sub\u003e |\n|                      C/clang (yajl) |  0.362\u003csub\u003e±0.001\u003c/sub\u003e |     111.31\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  15.71\u003csub\u003e±00.27\u003c/sub\u003e |\n|                        C/gcc (yajl) |  0.365\u003csub\u003e±0.000\u003c/sub\u003e |     111.31\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  15.77\u003csub\u003e±00.10\u003c/sub\u003e |\n|                C++/g++ (Boost.JSON) |  0.365\u003csub\u003e±0.001\u003c/sub\u003e |   113.60\u003csub\u003e±00.00\u003c/sub\u003e + 307.75\u003csub\u003e±00.00\u003c/sub\u003e |  15.48\u003csub\u003e±00.06\u003c/sub\u003e |\n|            C++/clang++ (Boost.JSON) |  0.375\u003csub\u003e±0.002\u003c/sub\u003e |   112.96\u003csub\u003e±00.12\u003c/sub\u003e + 307.75\u003csub\u003e±00.00\u003c/sub\u003e |  16.06\u003csub\u003e±00.10\u003c/sub\u003e |\n|                   Nim/clang (jsony) |  0.382\u003csub\u003e±0.001\u003c/sub\u003e |   112.06\u003csub\u003e±00.06\u003c/sub\u003e + 154.12\u003csub\u003e±00.00\u003c/sub\u003e |  16.10\u003csub\u003e±00.29\u003c/sub\u003e |\n|                     Nim/gcc (jsony) |  0.408\u003csub\u003e±0.001\u003c/sub\u003e |   111.62\u003csub\u003e±00.00\u003c/sub\u003e + 156.19\u003csub\u003e±01.75\u003c/sub\u003e |  17.33\u003csub\u003e±00.14\u003c/sub\u003e |\n|         C++/clang++ (RapidJSON SAX) |  0.417\u003csub\u003e±0.001\u003c/sub\u003e |     195.08\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  17.70\u003csub\u003e±00.04\u003c/sub\u003e |\n|     C++/g++ (RapidJSON SAX Precise) |  0.427\u003csub\u003e±0.000\u003c/sub\u003e |     113.34\u003csub\u003e±00.00\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |  19.06\u003csub\u003e±00.18\u003c/sub\u003e |\n|                             Node.js |  0.437\u003csub\u003e±0.001\u003c/sub\u003e |   155.54\u003csub\u003e±00.06\u003c/sub\u003e + 201.31\u003csub\u003e±03.75\u003c/sub\u003e |  21.57\u003csub\u003e±00.11\u003c/sub\u003e |\n| C++/clang++ (RapidJSON SAX Precise) |  0.514\u003csub\u003e±0.000\u003c/sub\u003e |     195.08\u003csub\u003e±00.00\u003c/sub\u003e + 0.12\u003csub\u003e±00.00\u003c/sub\u003e |  22.66\u003csub\u003e±00.11\u003c/sub\u003e |\n|                       Go (jsoniter) |  0.542\u003csub\u003e±0.001\u003c/sub\u003e |     114.25\u003csub\u003e±00.12\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  22.00\u003csub\u003e±00.31\u003c/sub\u003e |\n|     C#/.NET Core (System.Text.Json) |  0.549\u003csub\u003e±0.002\u003c/sub\u003e |   490.00\u003csub\u003e±00.08\u003c/sub\u003e + 140.62\u003csub\u003e±00.19\u003c/sub\u003e |  24.45\u003csub\u003e±00.29\u003c/sub\u003e |\n|                Rust (Serde Untyped) |  0.558\u003csub\u003e±0.001\u003c/sub\u003e |   111.75\u003csub\u003e±00.00\u003c/sub\u003e + 839.88\u003csub\u003e±00.00\u003c/sub\u003e |  23.69\u003csub\u003e±00.30\u003c/sub\u003e |\n|                     Java (DSL-JSON) |  0.571\u003csub\u003e±0.004\u003c/sub\u003e |   267.72\u003csub\u003e±00.12\u003c/sub\u003e + 288.95\u003csub\u003e±01.92\u003c/sub\u003e |  30.06\u003csub\u003e±00.56\u003c/sub\u003e |\n|                         Python/pypy |  0.614\u003csub\u003e±0.000\u003c/sub\u003e |   280.79\u003csub\u003e±00.01\u003c/sub\u003e + 125.21\u003csub\u003e±00.00\u003c/sub\u003e |  26.83\u003csub\u003e±00.15\u003c/sub\u003e |\n|                             V/clang |  0.634\u003csub\u003e±0.001\u003c/sub\u003e |   111.75\u003csub\u003e±00.12\u003c/sub\u003e + 496.00\u003csub\u003e±00.00\u003c/sub\u003e |  26.49\u003csub\u003e±00.14\u003c/sub\u003e |\n|                               V/gcc |  0.634\u003csub\u003e±0.000\u003c/sub\u003e |   111.81\u003csub\u003e±00.06\u003c/sub\u003e + 496.00\u003csub\u003e±00.00\u003c/sub\u003e |  26.77\u003csub\u003e±00.27\u003c/sub\u003e |\n|                      Crystal (Pull) |  0.634\u003csub\u003e±0.002\u003c/sub\u003e |    113.44\u003csub\u003e±00.06\u003c/sub\u003e + 18.12\u003csub\u003e±00.00\u003c/sub\u003e |  27.95\u003csub\u003e±00.31\u003c/sub\u003e |\n|                    Crystal (Schema) |  0.647\u003csub\u003e±0.001\u003c/sub\u003e |    113.38\u003csub\u003e±00.00\u003c/sub\u003e + 50.75\u003csub\u003e±00.00\u003c/sub\u003e |  28.21\u003csub\u003e±00.09\u003c/sub\u003e |\n|                Nim/gcc (Packedjson) |  0.673\u003csub\u003e±0.001\u003c/sub\u003e |   112.00\u003csub\u003e±00.00\u003c/sub\u003e + 294.19\u003csub\u003e±00.06\u003c/sub\u003e |  28.78\u003csub\u003e±00.44\u003c/sub\u003e |\n|              Nim/clang (Packedjson) |  0.675\u003csub\u003e±0.001\u003c/sub\u003e |   112.38\u003csub\u003e±00.12\u003c/sub\u003e + 294.25\u003csub\u003e±00.00\u003c/sub\u003e |  29.45\u003csub\u003e±00.42\u003c/sub\u003e |\n|                 CPython (UltraJSON) |  0.720\u003csub\u003e±0.002\u003c/sub\u003e |   123.90\u003csub\u003e±00.00\u003c/sub\u003e + 476.31\u003csub\u003e±00.88\u003c/sub\u003e |  28.65\u003csub\u003e±00.08\u003c/sub\u003e |\n|             Perl (Cpanel::JSON::XS) |  0.772\u003csub\u003e±0.006\u003c/sub\u003e |   125.44\u003csub\u003e±00.06\u003c/sub\u003e + 402.88\u003csub\u003e±00.00\u003c/sub\u003e |  32.07\u003csub\u003e±00.29\u003c/sub\u003e |\n|                                 PHP |  0.805\u003csub\u003e±0.002\u003c/sub\u003e |   128.44\u003csub\u003e±00.06\u003c/sub\u003e + 517.88\u003csub\u003e±00.00\u003c/sub\u003e |  34.83\u003csub\u003e±00.19\u003c/sub\u003e |\n|                                  Go |  0.825\u003csub\u003e±0.001\u003c/sub\u003e |     114.00\u003csub\u003e±00.00\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  34.28\u003csub\u003e±00.40\u003c/sub\u003e |\n|                              Python |  0.895\u003csub\u003e±0.004\u003c/sub\u003e |   121.73\u003csub\u003e±00.06\u003c/sub\u003e + 325.88\u003csub\u003e±00.00\u003c/sub\u003e |  37.83\u003csub\u003e±00.56\u003c/sub\u003e |\n|                             Crystal |  0.947\u003csub\u003e±0.008\u003c/sub\u003e |   113.50\u003csub\u003e±00.00\u003c/sub\u003e + 392.12\u003csub\u003e±00.00\u003c/sub\u003e |  41.02\u003csub\u003e±00.80\u003c/sub\u003e |\n|                             Nim/gcc |  1.023\u003csub\u003e±0.002\u003c/sub\u003e |  112.06\u003csub\u003e±00.06\u003c/sub\u003e + 1001.25\u003csub\u003e±00.00\u003c/sub\u003e |  42.77\u003csub\u003e±00.18\u003c/sub\u003e |\n|                        C#/.NET Core |  1.064\u003csub\u003e±0.004\u003c/sub\u003e |   496.26\u003csub\u003e±00.18\u003c/sub\u003e + 273.00\u003csub\u003e±00.12\u003c/sub\u003e |  50.88\u003csub\u003e±00.49\u003c/sub\u003e |\n|                           Nim/clang |  1.091\u003csub\u003e±0.002\u003c/sub\u003e |   112.38\u003csub\u003e±00.00\u003c/sub\u003e + 999.00\u003csub\u003e±00.00\u003c/sub\u003e |  45.69\u003csub\u003e±00.46\u003c/sub\u003e |\n|                             Clojure |  1.141\u003csub\u003e±0.022\u003c/sub\u003e |   411.01\u003csub\u003e±04.96\u003c/sub\u003e + 545.75\u003csub\u003e±15.06\u003c/sub\u003e |  60.70\u003csub\u003e±00.83\u003c/sub\u003e |\n|                    C++/g++ (json-c) |  1.203\u003csub\u003e±0.002\u003c/sub\u003e |  113.35\u003csub\u003e±00.00\u003c/sub\u003e + 1215.88\u003csub\u003e±00.00\u003c/sub\u003e |  50.53\u003csub\u003e±00.81\u003c/sub\u003e |\n|              C++/clang++ (Nlohmann) |  1.205\u003csub\u003e±0.001\u003c/sub\u003e |   112.89\u003csub\u003e±00.06\u003c/sub\u003e + 359.88\u003csub\u003e±00.00\u003c/sub\u003e |  50.78\u003csub\u003e±00.19\u003c/sub\u003e |\n|                C++/clang++ (json-c) |  1.205\u003csub\u003e±0.005\u003c/sub\u003e |  112.91\u003csub\u003e±00.06\u003c/sub\u003e + 1215.88\u003csub\u003e±00.00\u003c/sub\u003e |  50.10\u003csub\u003e±00.29\u003c/sub\u003e |\n|                            Go/gccgo |  1.227\u003csub\u003e±0.002\u003c/sub\u003e |     139.38\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |  50.43\u003csub\u003e±00.12\u003c/sub\u003e |\n|                  C++/g++ (Nlohmann) |  1.274\u003csub\u003e±0.002\u003c/sub\u003e |   113.40\u003csub\u003e±00.06\u003c/sub\u003e + 447.88\u003csub\u003e±00.00\u003c/sub\u003e |  53.66\u003csub\u003e±00.57\u003c/sub\u003e |\n|                        Ruby (--jit) |  1.330\u003csub\u003e±0.017\u003c/sub\u003e |   127.03\u003csub\u003e±00.43\u003c/sub\u003e + 213.50\u003csub\u003e±00.62\u003c/sub\u003e |  56.45\u003csub\u003e±00.76\u003c/sub\u003e |\n|                                Ruby |  1.360\u003csub\u003e±0.004\u003c/sub\u003e |   121.25\u003csub\u003e±00.00\u003c/sub\u003e + 212.75\u003csub\u003e±00.00\u003c/sub\u003e |  57.49\u003csub\u003e±00.53\u003c/sub\u003e |\n|     F#/.NET Core (System.Text.Json) |  1.498\u003csub\u003e±0.006\u003c/sub\u003e |   498.96\u003csub\u003e±00.06\u003c/sub\u003e + 231.38\u003csub\u003e±04.12\u003c/sub\u003e |  68.65\u003csub\u003e±00.71\u003c/sub\u003e |\n|                              D/ldc2 |  1.742\u003csub\u003e±0.002\u003c/sub\u003e |   113.25\u003csub\u003e±00.00\u003c/sub\u003e + 708.38\u003csub\u003e±00.06\u003c/sub\u003e |  73.21\u003csub\u003e±00.37\u003c/sub\u003e |\n|                         Ruby (YAJL) |  1.745\u003csub\u003e±0.005\u003c/sub\u003e |   121.38\u003csub\u003e±00.12\u003c/sub\u003e + 219.06\u003csub\u003e±00.06\u003c/sub\u003e |  73.96\u003csub\u003e±00.69\u003c/sub\u003e |\n|                             C#/Mono |  1.789\u003csub\u003e±0.010\u003c/sub\u003e |    253.37\u003csub\u003e±00.07\u003c/sub\u003e + 31.54\u003csub\u003e±00.03\u003c/sub\u003e |  77.28\u003csub\u003e±00.84\u003c/sub\u003e |\n|                                  C3 |  1.962\u003csub\u003e±0.004\u003c/sub\u003e |   111.88\u003csub\u003e±00.00\u003c/sub\u003e + 795.88\u003csub\u003e±00.00\u003c/sub\u003e |  81.93\u003csub\u003e±00.35\u003c/sub\u003e |\n|                             Haskell |  2.008\u003csub\u003e±0.005\u003c/sub\u003e |   115.88\u003csub\u003e±00.00\u003c/sub\u003e + 723.56\u003csub\u003e±00.19\u003c/sub\u003e |  86.20\u003csub\u003e±00.70\u003c/sub\u003e |\n|        C++/g++ (Boost.PropertyTree) |  2.515\u003csub\u003e±0.009\u003c/sub\u003e |  113.40\u003csub\u003e±00.06\u003c/sub\u003e + 1439.88\u003csub\u003e±00.00\u003c/sub\u003e | 107.37\u003csub\u003e±01.05\u003c/sub\u003e |\n|                           Rust (jq) |  2.597\u003csub\u003e±0.006\u003c/sub\u003e |   113.50\u003csub\u003e±00.06\u003c/sub\u003e + 903.47\u003csub\u003e±01.19\u003c/sub\u003e | 108.44\u003csub\u003e±00.97\u003c/sub\u003e |\n|    C++/clang++ (Boost.PropertyTree) |  2.625\u003csub\u003e±0.007\u003c/sub\u003e |  195.14\u003csub\u003e±00.06\u003c/sub\u003e + 1232.62\u003csub\u003e±00.00\u003c/sub\u003e | 112.22\u003csub\u003e±00.99\u003c/sub\u003e |\n|                                Odin |  2.824\u003csub\u003e±0.003\u003c/sub\u003e |    111.44\u003csub\u003e±00.06\u003c/sub\u003e + 20.00\u003csub\u003e±00.00\u003c/sub\u003e | 117.93\u003csub\u003e±00.75\u003c/sub\u003e |\n|                          Ruby/jruby |  2.869\u003csub\u003e±0.026\u003c/sub\u003e |   469.56\u003csub\u003e±03.09\u003c/sub\u003e + 890.16\u003csub\u003e±23.07\u003c/sub\u003e | 146.96\u003csub\u003e±02.03\u003c/sub\u003e |\n|                            Vala/gcc |  3.089\u003csub\u003e±0.009\u003c/sub\u003e |   115.31\u003csub\u003e±00.06\u003c/sub\u003e + 980.00\u003csub\u003e±00.00\u003c/sub\u003e | 131.83\u003csub\u003e±00.56\u003c/sub\u003e |\n|                          Vala/clang |  3.094\u003csub\u003e±0.006\u003c/sub\u003e |   115.38\u003csub\u003e±00.00\u003c/sub\u003e + 980.00\u003csub\u003e±00.00\u003c/sub\u003e | 132.11\u003csub\u003e±00.59\u003c/sub\u003e |\n|                               D/dmd |  3.101\u003csub\u003e±0.003\u003c/sub\u003e |   113.38\u003csub\u003e±00.00\u003c/sub\u003e + 708.56\u003csub\u003e±00.06\u003c/sub\u003e | 133.40\u003csub\u003e±01.11\u003c/sub\u003e |\n|                               D/gdc |  3.493\u003csub\u003e±0.022\u003c/sub\u003e |   116.62\u003csub\u003e±00.06\u003c/sub\u003e + 708.75\u003csub\u003e±00.00\u003c/sub\u003e | 148.35\u003csub\u003e±00.78\u003c/sub\u003e |\n|                              Racket |  3.819\u003csub\u003e±0.025\u003c/sub\u003e |   320.69\u003csub\u003e±00.42\u003c/sub\u003e + 225.56\u003csub\u003e±00.12\u003c/sub\u003e | 159.99\u003csub\u003e±01.22\u003c/sub\u003e |\n|                   Perl (JSON::Tiny) |  9.297\u003csub\u003e±0.067\u003c/sub\u003e |   126.00\u003csub\u003e±00.00\u003c/sub\u003e + 528.69\u003csub\u003e±00.01\u003c/sub\u003e | 409.51\u003csub\u003e±01.80\u003c/sub\u003e |\n|              Ruby/truffleruby (JVM) | 10.154\u003csub\u003e±0.186\u003c/sub\u003e | 483.81\u003csub\u003e±04.05\u003c/sub\u003e + 2243.44\u003csub\u003e±141.72\u003c/sub\u003e | 637.52\u003csub\u003e±13.44\u003c/sub\u003e |\n|                    Ruby/truffleruby | 10.192\u003csub\u003e±0.089\u003c/sub\u003e |  398.88\u003csub\u003e±02.12\u003c/sub\u003e + 1932.31\u003csub\u003e±17.38\u003c/sub\u003e | 586.73\u003csub\u003e±04.37\u003c/sub\u003e |\n\n## Matmul\n\nTesting allocating and multiplying matrices.\n\n[Matmul](matmul)\n\n|                Language |                  Time, s |                                        Memory, MiB |                  Energy, J |\n| :---------------------- | -----------------------: | -------------------------------------------------: | -------------------------: |\n|         D/ldc2 (lubeck) |   0.042\u003csub\u003e±0.001\u003c/sub\u003e |    16.19\u003csub\u003e±02.25\u003c/sub\u003e + 48.19\u003csub\u003e±02.31\u003c/sub\u003e |      4.17\u003csub\u003e±00.04\u003c/sub\u003e |\n|          Python (NumPy) |   0.066\u003csub\u003e±0.001\u003c/sub\u003e |    39.59\u003csub\u003e±02.13\u003c/sub\u003e + 52.95\u003csub\u003e±02.12\u003c/sub\u003e |      5.61\u003csub\u003e±00.04\u003c/sub\u003e |\n|   Nim/gcc (Arraymancer) |   0.073\u003csub\u003e±0.002\u003c/sub\u003e |    10.69\u003csub\u003e±03.00\u003c/sub\u003e + 53.19\u003csub\u003e±03.06\u003c/sub\u003e |      5.81\u003csub\u003e±00.10\u003c/sub\u003e |\n|             Java (ND4J) |   0.082\u003csub\u003e±0.001\u003c/sub\u003e |   117.87\u003csub\u003e±01.02\u003c/sub\u003e + 92.62\u003csub\u003e±00.00\u003c/sub\u003e |      6.38\u003csub\u003e±00.11\u003c/sub\u003e |\n|          Rust (ndarray) |   0.091\u003csub\u003e±0.001\u003c/sub\u003e |     2.50\u003csub\u003e±00.00\u003c/sub\u003e + 68.48\u003csub\u003e±00.00\u003c/sub\u003e |      6.18\u003csub\u003e±00.06\u003c/sub\u003e |\n| Nim/clang (Arraymancer) |   0.112\u003csub\u003e±0.027\u003c/sub\u003e |    20.44\u003csub\u003e±02.25\u003c/sub\u003e + 44.06\u003csub\u003e±02.25\u003c/sub\u003e |      7.99\u003csub\u003e±01.36\u003c/sub\u003e |\n|      Julia (threads: 2) |   0.119\u003csub\u003e±0.000\u003c/sub\u003e |   263.91\u003csub\u003e±00.08\u003c/sub\u003e + 57.19\u003csub\u003e±00.06\u003c/sub\u003e |      6.62\u003csub\u003e±00.02\u003c/sub\u003e |\n|         C++/g++ (Eigen) |   0.147\u003csub\u003e±0.000\u003c/sub\u003e |     4.21\u003csub\u003e±00.00\u003c/sub\u003e + 85.54\u003csub\u003e±00.00\u003c/sub\u003e |      7.23\u003csub\u003e±00.09\u003c/sub\u003e |\n|     C++/clang++ (Eigen) |   0.147\u003csub\u003e±0.000\u003c/sub\u003e |     4.75\u003csub\u003e±00.00\u003c/sub\u003e + 85.42\u003csub\u003e±00.00\u003c/sub\u003e |      7.31\u003csub\u003e±00.03\u003c/sub\u003e |\n|      Julia (threads: 1) |   0.170\u003csub\u003e±0.000\u003c/sub\u003e |   263.98\u003csub\u003e±00.07\u003c/sub\u003e + 56.62\u003csub\u003e±00.00\u003c/sub\u003e |      7.95\u003csub\u003e±00.04\u003c/sub\u003e |\n|   V/clang (VSL + CBLAS) |   0.274\u003csub\u003e±0.003\u003c/sub\u003e |    14.31\u003csub\u003e±02.00\u003c/sub\u003e + 44.88\u003csub\u003e±01.88\u003c/sub\u003e |     19.26\u003csub\u003e±00.20\u003c/sub\u003e |\n|           V/clang (VSL) |   0.274\u003csub\u003e±0.004\u003c/sub\u003e |    14.38\u003csub\u003e±02.75\u003c/sub\u003e + 44.69\u003csub\u003e±02.69\u003c/sub\u003e |     18.94\u003csub\u003e±00.23\u003c/sub\u003e |\n|     V/gcc (VSL + CBLAS) |   0.469\u003csub\u003e±0.006\u003c/sub\u003e |    12.94\u003csub\u003e±02.44\u003c/sub\u003e + 46.31\u003csub\u003e±02.38\u003c/sub\u003e |     35.29\u003csub\u003e±00.27\u003c/sub\u003e |\n|             V/gcc (VSL) |   0.484\u003csub\u003e±0.002\u003c/sub\u003e |    13.25\u003csub\u003e±02.44\u003c/sub\u003e + 45.94\u003csub\u003e±02.25\u003c/sub\u003e |     32.84\u003csub\u003e±00.15\u003c/sub\u003e |\n|         Julia (no BLAS) |   1.110\u003csub\u003e±0.018\u003c/sub\u003e |   263.50\u003csub\u003e±00.00\u003c/sub\u003e + 51.88\u003csub\u003e±00.00\u003c/sub\u003e |     48.27\u003csub\u003e±00.89\u003c/sub\u003e |\n|                   D/gdc |   1.504\u003csub\u003e±0.000\u003c/sub\u003e |      7.12\u003csub\u003e±00.06\u003c/sub\u003e + 4.00\u003csub\u003e±00.00\u003c/sub\u003e |     56.83\u003csub\u003e±00.29\u003c/sub\u003e |\n|                  D/ldc2 |   1.723\u003csub\u003e±0.002\u003c/sub\u003e |     3.62\u003csub\u003e±00.06\u003c/sub\u003e + 70.38\u003csub\u003e±00.00\u003c/sub\u003e |     64.10\u003csub\u003e±00.41\u003c/sub\u003e |\n|                   D/dmd |   1.881\u003csub\u003e±0.002\u003c/sub\u003e |     3.44\u003csub\u003e±00.06\u003c/sub\u003e + 70.38\u003csub\u003e±00.00\u003c/sub\u003e |     71.95\u003csub\u003e±00.51\u003c/sub\u003e |\n|                   C/gcc |   3.034\u003csub\u003e±0.000\u003c/sub\u003e |     2.00\u003csub\u003e±00.00\u003c/sub\u003e + 68.38\u003csub\u003e±00.00\u003c/sub\u003e |    112.68\u003csub\u003e±00.46\u003c/sub\u003e |\n|                   V/gcc |   3.036\u003csub\u003e±0.000\u003c/sub\u003e |     2.50\u003csub\u003e±00.00\u003c/sub\u003e + 68.75\u003csub\u003e±00.00\u003c/sub\u003e |    113.43\u003csub\u003e±00.28\u003c/sub\u003e |\n|              Vala/clang |   3.061\u003csub\u003e±0.001\u003c/sub\u003e |     5.66\u003csub\u003e±00.03\u003c/sub\u003e + 68.38\u003csub\u003e±00.00\u003c/sub\u003e |    107.97\u003csub\u003e±01.66\u003c/sub\u003e |\n|                    Rust |   3.064\u003csub\u003e±0.001\u003c/sub\u003e |     2.25\u003csub\u003e±00.00\u003c/sub\u003e + 68.50\u003csub\u003e±00.00\u003c/sub\u003e |    107.36\u003csub\u003e±01.14\u003c/sub\u003e |\n|                 V/clang |   3.064\u003csub\u003e±0.001\u003c/sub\u003e |     2.88\u003csub\u003e±00.00\u003c/sub\u003e + 68.75\u003csub\u003e±00.00\u003c/sub\u003e |    106.71\u003csub\u003e±00.68\u003c/sub\u003e |\n|                 C/clang |   3.066\u003csub\u003e±0.000\u003c/sub\u003e |     2.00\u003csub\u003e±00.00\u003c/sub\u003e + 68.38\u003csub\u003e±00.00\u003c/sub\u003e |    105.48\u003csub\u003e±00.31\u003c/sub\u003e |\n|                     Zig |   3.068\u003csub\u003e±0.002\u003c/sub\u003e |     1.75\u003csub\u003e±00.00\u003c/sub\u003e + 68.62\u003csub\u003e±00.00\u003c/sub\u003e |    109.29\u003csub\u003e±00.23\u003c/sub\u003e |\n|                 Nim/gcc |   3.094\u003csub\u003e±0.002\u003c/sub\u003e |     2.50\u003csub\u003e±00.00\u003c/sub\u003e + 57.88\u003csub\u003e±00.00\u003c/sub\u003e |    115.51\u003csub\u003e±00.14\u003c/sub\u003e |\n|                    Java |   3.107\u003csub\u003e±0.006\u003c/sub\u003e |    43.27\u003csub\u003e±00.10\u003c/sub\u003e + 78.61\u003csub\u003e±00.08\u003c/sub\u003e |    123.58\u003csub\u003e±00.40\u003c/sub\u003e |\n|                   Swift |   3.117\u003csub\u003e±0.001\u003c/sub\u003e |     8.31\u003csub\u003e±00.06\u003c/sub\u003e + 68.62\u003csub\u003e±00.00\u003c/sub\u003e |    112.98\u003csub\u003e±00.66\u003c/sub\u003e |\n|               Nim/clang |   3.121\u003csub\u003e±0.001\u003c/sub\u003e |     2.88\u003csub\u003e±00.12\u003c/sub\u003e + 57.88\u003csub\u003e±00.00\u003c/sub\u003e |    108.74\u003csub\u003e±00.94\u003c/sub\u003e |\n|                Vala/gcc |   3.130\u003csub\u003e±0.001\u003c/sub\u003e |     5.53\u003csub\u003e±00.03\u003c/sub\u003e + 68.50\u003csub\u003e±00.00\u003c/sub\u003e |    115.26\u003csub\u003e±00.63\u003c/sub\u003e |\n|                      Go |   3.153\u003csub\u003e±0.000\u003c/sub\u003e |      4.00\u003csub\u003e±00.12\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |    114.91\u003csub\u003e±00.69\u003c/sub\u003e |\n|                 Crystal |   3.154\u003csub\u003e±0.001\u003c/sub\u003e |     4.00\u003csub\u003e±00.06\u003c/sub\u003e + 59.50\u003csub\u003e±00.00\u003c/sub\u003e |    113.86\u003csub\u003e±01.39\u003c/sub\u003e |\n|                Go/gccgo |   3.160\u003csub\u003e±0.000\u003c/sub\u003e |     24.38\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |    112.72\u003csub\u003e±00.89\u003c/sub\u003e |\n|              Kotlin/JVM |   3.197\u003csub\u003e±0.002\u003c/sub\u003e |    43.74\u003csub\u003e±00.09\u003c/sub\u003e + 78.32\u003csub\u003e±00.17\u003c/sub\u003e |    124.82\u003csub\u003e±00.65\u003c/sub\u003e |\n|                 Node.js |   3.201\u003csub\u003e±0.001\u003c/sub\u003e |    54.88\u003csub\u003e±00.13\u003c/sub\u003e + 70.75\u003csub\u003e±00.12\u003c/sub\u003e |    125.28\u003csub\u003e±00.24\u003c/sub\u003e |\n|             Python/pypy |   3.263\u003csub\u003e±0.002\u003c/sub\u003e |    61.00\u003csub\u003e±00.00\u003c/sub\u003e + 68.75\u003csub\u003e±00.12\u003c/sub\u003e |    136.35\u003csub\u003e±00.22\u003c/sub\u003e |\n|                   Scala |   3.295\u003csub\u003e±0.004\u003c/sub\u003e |   61.33\u003csub\u003e±00.10\u003c/sub\u003e + 150.06\u003csub\u003e±00.06\u003c/sub\u003e |    121.09\u003csub\u003e±00.77\u003c/sub\u003e |\n|            C#/.NET Core |   4.890\u003csub\u003e±0.001\u003c/sub\u003e |    34.75\u003csub\u003e±00.07\u003c/sub\u003e + 68.88\u003csub\u003e±00.00\u003c/sub\u003e |    199.16\u003csub\u003e±01.76\u003c/sub\u003e |\n|                 C#/Mono |   7.394\u003csub\u003e±0.002\u003c/sub\u003e |    26.13\u003csub\u003e±00.15\u003c/sub\u003e + 69.62\u003csub\u003e±00.00\u003c/sub\u003e |    307.51\u003csub\u003e±01.02\u003c/sub\u003e |\n|        Ruby/truffleruby |  23.778\u003csub\u003e±0.432\u003c/sub\u003e |  323.12\u003csub\u003e±01.06\u003c/sub\u003e + 495.12\u003csub\u003e±08.81\u003c/sub\u003e |    822.87\u003csub\u003e±11.67\u003c/sub\u003e |\n|  Ruby/truffleruby (JVM) |  24.266\u003csub\u003e±0.702\u003c/sub\u003e |  460.01\u003csub\u003e±13.73\u003c/sub\u003e + 344.48\u003csub\u003e±85.17\u003c/sub\u003e |    849.21\u003csub\u003e±19.35\u003c/sub\u003e |\n|                  Python | 131.064\u003csub\u003e±0.887\u003c/sub\u003e |    11.94\u003csub\u003e±00.06\u003c/sub\u003e + 68.62\u003csub\u003e±00.00\u003c/sub\u003e |   6080.98\u003csub\u003e±50.15\u003c/sub\u003e |\n|                    Perl | 149.885\u003csub\u003e±1.491\u003c/sub\u003e |    8.75\u003csub\u003e±00.12\u003c/sub\u003e + 379.62\u003csub\u003e±00.00\u003c/sub\u003e |   6523.98\u003csub\u003e±63.31\u003c/sub\u003e |\n|            Ruby (--jit) | 153.769\u003csub\u003e±0.077\u003c/sub\u003e |    21.87\u003csub\u003e±00.03\u003c/sub\u003e + 68.44\u003csub\u003e±00.06\u003c/sub\u003e |   6836.84\u003csub\u003e±17.55\u003c/sub\u003e |\n|                     Tcl | 205.038\u003csub\u003e±0.931\u003c/sub\u003e |    7.50\u003csub\u003e±00.00\u003c/sub\u003e + 400.25\u003csub\u003e±00.00\u003c/sub\u003e |   9334.51\u003csub\u003e±36.78\u003c/sub\u003e |\n|                    Ruby | 213.180\u003csub\u003e±0.222\u003c/sub\u003e |    11.62\u003csub\u003e±00.00\u003c/sub\u003e + 69.25\u003csub\u003e±00.00\u003c/sub\u003e |   9606.45\u003csub\u003e±45.45\u003c/sub\u003e |\n|              Ruby/jruby | 378.246\u003csub\u003e±8.095\u003c/sub\u003e | 269.65\u003csub\u003e±12.79\u003c/sub\u003e + 1169.97\u003csub\u003e±99.95\u003c/sub\u003e | 15729.25\u003csub\u003e±399.84\u003c/sub\u003e |\n\n## Primes\n\nTesting:\n\n - generating primes using the optimized [sieve of Atkin](https://www.geeksforgeeks.org/sieve-of-atkin/);\n - prefix search for their decimal numbers using Trie data structure.\n\nNotes:\n\n - All languages but V and Python use unordered hashmaps (V and Python don't provide those out of box, and\n their hashmaps use keys in the insertion order);\n - The results are always sorted (could be unstable or stable though).\n\n[Primes](primes)\n\n|               Language |                Time, s |                                       Memory, MiB |               Energy, J |\n| :--------------------- | ---------------------: | ------------------------------------------------: | ----------------------: |\n|                    Zig | 0.060\u003csub\u003e±0.000\u003c/sub\u003e |    1.50\u003csub\u003e±00.00\u003c/sub\u003e + 47.88\u003csub\u003e±00.25\u003c/sub\u003e |   2.52\u003csub\u003e±00.02\u003c/sub\u003e |\n|                C++/g++ | 0.064\u003csub\u003e±0.001\u003c/sub\u003e |    3.62\u003csub\u003e±00.12\u003c/sub\u003e + 85.86\u003csub\u003e±00.56\u003c/sub\u003e |   2.50\u003csub\u003e±00.02\u003c/sub\u003e |\n|                     Go | 0.072\u003csub\u003e±0.001\u003c/sub\u003e |     3.56\u003csub\u003e±00.06\u003c/sub\u003e + 0.00\u003csub\u003e±00.00\u003c/sub\u003e |   3.13\u003csub\u003e±00.06\u003c/sub\u003e |\n|            C++/clang++ | 0.075\u003csub\u003e±0.000\u003c/sub\u003e |    3.12\u003csub\u003e±00.12\u003c/sub\u003e + 64.66\u003csub\u003e±00.12\u003c/sub\u003e |   2.85\u003csub\u003e±00.03\u003c/sub\u003e |\n|                V/clang | 0.100\u003csub\u003e±0.000\u003c/sub\u003e |   2.25\u003csub\u003e±00.00\u003c/sub\u003e + 200.38\u003csub\u003e±00.94\u003c/sub\u003e |   4.15\u003csub\u003e±00.03\u003c/sub\u003e |\n|                   Rust | 0.103\u003csub\u003e±0.000\u003c/sub\u003e |    2.00\u003csub\u003e±00.00\u003c/sub\u003e + 72.98\u003csub\u003e±00.00\u003c/sub\u003e |   4.05\u003csub\u003e±00.06\u003c/sub\u003e |\n|                  V/gcc | 0.105\u003csub\u003e±0.001\u003c/sub\u003e |   2.12\u003csub\u003e±00.00\u003c/sub\u003e + 215.81\u003csub\u003e±02.50\u003c/sub\u003e |   4.36\u003csub\u003e±00.05\u003c/sub\u003e |\n|                   Java | 0.136\u003csub\u003e±0.003\u003c/sub\u003e |  41.95\u003csub\u003e±00.12\u003c/sub\u003e + 126.09\u003csub\u003e±05.43\u003c/sub\u003e |   7.73\u003csub\u003e±00.17\u003c/sub\u003e |\n|                Crystal | 0.142\u003csub\u003e±0.000\u003c/sub\u003e |    3.44\u003csub\u003e±00.06\u003c/sub\u003e + 89.06\u003csub\u003e±00.62\u003c/sub\u003e |   5.77\u003csub\u003e±00.06\u003c/sub\u003e |\n|                  Scala | 0.193\u003csub\u003e±0.002\u003c/sub\u003e |  63.27\u003csub\u003e±00.10\u003c/sub\u003e + 147.50\u003csub\u003e±04.91\u003c/sub\u003e |  11.42\u003csub\u003e±00.09\u003c/sub\u003e |\n|                Node.js | 0.195\u003csub\u003e±0.000\u003c/sub\u003e |  44.05\u003csub\u003e±00.00\u003c/sub\u003e + 147.14\u003csub\u003e±00.26\u003c/sub\u003e |  10.22\u003csub\u003e±00.04\u003c/sub\u003e |\n|                Nim/gcc | 0.290\u003csub\u003e±0.002\u003c/sub\u003e |   1.75\u003csub\u003e±00.00\u003c/sub\u003e + 596.00\u003csub\u003e±04.81\u003c/sub\u003e |  11.18\u003csub\u003e±00.16\u003c/sub\u003e |\n|              Nim/clang | 0.291\u003csub\u003e±0.001\u003c/sub\u003e |   2.12\u003csub\u003e±00.00\u003c/sub\u003e + 585.56\u003csub\u003e±03.38\u003c/sub\u003e |  11.34\u003csub\u003e±00.10\u003c/sub\u003e |\n|             Lua/luajit | 0.305\u003csub\u003e±0.001\u003c/sub\u003e |   2.56\u003csub\u003e±00.06\u003c/sub\u003e + 157.53\u003csub\u003e±00.65\u003c/sub\u003e |  12.31\u003csub\u003e±00.03\u003c/sub\u003e |\n|                  Julia | 0.419\u003csub\u003e±0.002\u003c/sub\u003e | 263.62\u003csub\u003e±00.00\u003c/sub\u003e + 216.46\u003csub\u003e±02.14\u003c/sub\u003e |  15.98\u003csub\u003e±00.08\u003c/sub\u003e |\n|            Python/pypy | 0.636\u003csub\u003e±0.003\u003c/sub\u003e |  60.00\u003csub\u003e±00.12\u003c/sub\u003e + 248.82\u003csub\u003e±00.07\u003c/sub\u003e |  26.09\u003csub\u003e±00.26\u003c/sub\u003e |\n|                 Racket | 0.751\u003csub\u003e±0.001\u003c/sub\u003e | 111.73\u003csub\u003e±00.41\u003c/sub\u003e + 246.77\u003csub\u003e±00.46\u003c/sub\u003e |  29.66\u003csub\u003e±00.18\u003c/sub\u003e |\n|       Ruby/truffleruby | 0.895\u003csub\u003e±0.009\u003c/sub\u003e | 201.19\u003csub\u003e±02.19\u003c/sub\u003e + 649.06\u003csub\u003e±40.88\u003c/sub\u003e |  60.60\u003csub\u003e±00.54\u003c/sub\u003e |\n|           Ruby (--jit) | 1.214\u003csub\u003e±0.003\u003c/sub\u003e |  23.14\u003csub\u003e±00.06\u003c/sub\u003e + 163.74\u003csub\u003e±00.49\u003c/sub\u003e |  49.45\u003csub\u003e±00.50\u003c/sub\u003e |\n|                    Lua | 1.218\u003csub\u003e±0.004\u003c/sub\u003e |   2.50\u003csub\u003e±00.00\u003c/sub\u003e + 283.91\u003csub\u003e±00.62\u003c/sub\u003e |  49.71\u003csub\u003e±00.55\u003c/sub\u003e |\n| Ruby/truffleruby (JVM) | 1.305\u003csub\u003e±0.052\u003c/sub\u003e | 393.06\u003csub\u003e±03.76\u003c/sub\u003e + 462.28\u003csub\u003e±33.59\u003c/sub\u003e |  84.79\u003csub\u003e±03.35\u003c/sub\u003e |\n|                   Ruby | 1.964\u003csub\u003e±0.007\u003c/sub\u003e |  11.38\u003csub\u003e±00.06\u003c/sub\u003e + 172.75\u003csub\u003e±00.31\u003c/sub\u003e |  82.09\u003csub\u003e±00.37\u003c/sub\u003e |\n|             Ruby/jruby | 2.245\u003csub\u003e±0.083\u003c/sub\u003e | 200.22\u003csub\u003e±01.74\u003c/sub\u003e + 552.07\u003csub\u003e±44.14\u003c/sub\u003e | 120.12\u003csub\u003e±05.85\u003c/sub\u003e |\n|                 Python | 2.275\u003csub\u003e±0.007\u003c/sub\u003e |  11.62\u003csub\u003e±00.00\u003c/sub\u003e + 172.88\u003csub\u003e±00.69\u003c/sub\u003e |  98.93\u003csub\u003e±01.08\u003c/sub\u003e |\n\n# Tests Execution\n\n## Environment\n\nCPU: Intel(R) Xeon(R) E-2324G\n\nBase Docker image: Debian GNU/Linux trixie/sid\n\n| Language         | Version                         |\n| ---------------- | ------------------------------- |\n| .NET Core        | 8.0.403                         |\n| C#/.NET Core     | 4.11.0-3.24468.6 (b4e5d1dd)     |\n| C#/Mono          | 6.12.0.200                      |\n| C3               | 0.6.4                           |\n| Chez Scheme      | 10.0.0                          |\n| Clojure          | \"1.12.0\"                        |\n| Crystal          | 1.14.0                          |\n| D/dmd            | v2.109.1                        |\n| D/gdc            | 14.2.0                          |\n| D/ldc2           | 1.39.0                          |\n| Elixir           | 1.14.0                          |\n| F#/.NET Core     | 12.8.401.0 for F# 8.0           |\n| Go               | go1.23.2                        |\n| Go/gccgo         | 14.2.0                          |\n| Haskell          | 9.8.2                           |\n| Idris 2          | 0.6.0                           |\n| Java             | 23.0.1                          |\n| Julia            | v\"1.11.1\"                       |\n| Kotlin           | 2.0.21                          |\n| Lua              | 5.4.6                           |\n| Lua/luajit       | 2.1.1723681758                  |\n| MLton            | 20210117                        |\n| Nim              | 2.2.0                           |\n| Node.js          | v23.1.0                         |\n| OCaml            | 5.2.0                           |\n| Odin             | dev-2024-11-nightly             |\n| PHP              | 8.2.24                          |\n| Perl             | v5.40.0                         |\n| Python           | 3.12.6                          |\n| Python/pypy      | 7.3.17-final0 for Python 3.10.14 |\n| Racket           | \"8.14\"                          |\n| Ruby             | 3.3.5p100                       |\n| Ruby/jruby       | 9.4.8.0                         |\n| Ruby/truffleruby | 24.1.1                          |\n| Rust             | 1.82.0                          |\n| Scala            | 3.5.2                           |\n| Swift            | 6.0.2                           |\n| Tcl              | 8.6                             |\n| V                | 0.4.8 2ab1523                   |\n| Vala             | 0.56.17                         |\n| Zig              | 0.13.0                          |\n| clang/clang++    | 19.1.2 (1)                      |\n| gcc/g++          | 14.2.0                          |\n\n## Using Docker\n\nBuild the image:\n\n    $ docker build docker/ -t benchmarks\n\nRun the image:\n\n    $ docker run -it --rm -v $(pwd):/src benchmarks \u003ccmd\u003e\n\nwhere `\u003ccmd\u003e` is:\n\n - `versions` (print installed language versions);\n - `shell` (start the shell);\n - `brainfuck bench` (build and run Brainfuck bench.b benchmarks);\n - `brainfuck mandel` (build and run Brainfuck mandel.b benchmarks);\n - `base64` (build and run Base64 benchmarks);\n - `json` (build and run Json benchmarks);\n - `matmul` (build and run Matmul benchmarks);\n - `primes` (build and run Primes benchmarks);\n\nPlease note that the actual measurements provided in the project are taken semi-manually (via `shell`) as the full update takes days and could have occassional issues in Docker.\n\nThere is a `./run.sh` that could be used to simplify Docker usage:\n\n - `./run.sh build` (build the image);\n - `./run.sh make versions` (run the image with the `versions` command);\n - `sudo ./run.sh shell` (run the image with the `shell' command, sudo is required to read energy levels).\n\n## Manual Execution\n\nMakefiles contain recipes for building and executing tests with the\nproper dependencies. Please use `make run` (and `make run2` where applicable).\nThe measurements are taken using `analyze.rb` script:\n\n    $ cd \u003ctest suite\u003e\n    $ ../analyze.rb make run\n    $ ../analyze.rb make run[\u003csingle test\u003e]\n\nPlease note that the measurements could take hours. It uses 10 iterations\nby default, but it could be changed using ATTEMPTS environment variable:\n\n    $ ATTEMPTS=1 ../analyze.rb make run\n\n### Prerequisites\n\nPlease use [Dockerfile](docker/Dockerfile) as a reference regarding which\npackages and tools are required.\n\nFor all (optional):\n\n - [Powercap](https://github.com/powercap/powercap) for reading energy\ncounters in Linux (Debian package `powercap-utils`).\n\nFor Python:\n\n - [NumPy](https://numpy.org/) for matmul tests\n(Debian package `python3-numpy`).\n - [UltraJSON](https://pypi.org/project/ujson/) for JSON tests\n(Debian package `python3-ujson`).\n\n\nFor C++:\n\n - [Boost](https://www.boost.org/) for JSON tests\n(Debian package `libboost-dev`).\n - [JSON-C](https://github.com/json-c/json-c) for JSON tests\n(Debian package `libjson-c-dev`).\n\nFor Rust:\n\n - [libjq](https://stedolan.github.io/jq/) for jq test\n(Debian packages `libjq-dev`, `libonig-dev` and environment variable\n`JQ_LIB_DIR=/usr/lib/x86_64-linux-gnu/`).\n\nFor Java, Scala:\n\n - [Coursier](https://get-coursier.io/) for downloading Maven artifacts.\n\nFor Haskell:\n\n - [network](http://hackage.haskell.org/package/network) for\nTCP connectivity between the tests and the test runner.\n - [raw-strings-qq](http://hackage.haskell.org/package/raw-strings-qq) for\nraw string literals used in tests.\n\nFor Perl:\n\n - [cpanminus](https://metacpan.org/pod/App::cpanminus) for installing\nmodules from CPAN (Debian package `cpanminus`).\n\nFor Vala:\n\n - [JSON-GLib](https://wiki.gnome.org/Projects/JsonGlib) for JSON tests\n (Debian package `libjson-glib-dev`).\n\n# Contribution\n\nPlease follow the criteria specified in the [overview](#overview). Besides\nthat please ensure that the communication protocol between a test and the\ntest runner is satisfied:\n\n - The test runner listens on localhost:9001;\n - All messages are sent using TCP sockets closed immediately after the\nmessage has been sent;\n - There are two messages sent from a test (it establishes the measurement\nboundary):\n    1. The beginning message having the format *name of the test*/t*process ID*\n(the process ID is used to measure the memory consumption). Please note that\nthe name of the test couldn't use Tab character as it's a delimiter;\n    2. The end message with any content (mostly it's \"stop\" for consistency).\n - The test runner could be unavailable (if the test is launched as is) and\nthe test should gracefully handle it.\n\n## Makefile guide\n\n### Binary executables\n\nIf the test is compiled into a single binary, then two sections of\nthe `Makefile` require changes:\n\n - append a new target (the final binary location) into `executables`\nvariable;\n - append the proper target rule.\n\n### Compiled artifacts\n\nIf the test is compiled, but can't be executed directly as a binary, then\nthree sections of the `Makefile` require changes:\n\n - append a new target (the final artifact location) into `artifacts`\nvariable;\n - append the proper target rule to compile the test;\n - append `run[\u003ctarget_artifact\u003e]` rule to run the test.\n\n### Scripting language\n\nIf the test doesn't require compilation, then two sections of the `Makefile`\nrequires changes:\n\n - append `run[\u003cscript_file\u003e]` into `all_runners` variable;\n - append `run[\u003cscript_file\u003e]` rule to run the test.\n\n## README update\n\nTOC is regenerated using [git-markdown-toc](https://github.com/ildar-shaimordanov/git-markdown-toc):\n\n```\n./run.sh toc\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkostya%2Fbenchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkostya%2Fbenchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkostya%2Fbenchmarks/lists"}