git.delta.rocks / jrsonnet / refs/commits / 387e99d7443a

difftreelog

build update gcmodule

tmtxpsmuYaroslav Bolyukin2026-05-05parent: #9cb049e.patch.diff
in: master

3 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -984,14 +984,18 @@
 
 [[package]]
 name = "jrsonnet-gcmodule"
-version = "0.4.5"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb04c12f50f954e1d8b3b5a7e99c448da97af2e1f7435a88f3c9b9f2a677015a"
 dependencies = [
  "jrsonnet-gcmodule-derive",
 ]
 
 [[package]]
 name = "jrsonnet-gcmodule-derive"
-version = "0.4.5"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "454a895e7c0b7ea3584966e8b346c6c80fdd33acb0224ad7e3fbd80cf8171601"
 dependencies = [
  "proc-macro2",
  "quote",
modifiedCargo.tomldiffbeforeafterboth
after · Cargo.toml
1[workspace]2members = [3  "crates/*",4  "bindings/jrsonnet-web",5  "bindings/jsonnet",6  "cmds/*",7  "tests",8  "xtask",9]10default-members = ["cmds/jrsonnet", "cmds/jrsonnet-fmt", "bindings/jsonnet"]11resolver = "2"1213[workspace.package]14authors = ["Yaroslav Bolyukin <iam@lach.pw>"]15edition = "2024"16license = "MIT"17repository = "https://github.com/CertainLach/jrsonnet"18version = "0.5.0-pre98"1920[workspace.dependencies]21jrsonnet-evaluator = { path = "./crates/jrsonnet-evaluator", version = "0.5.0-pre98" }22jrsonnet-macros = { path = "./crates/jrsonnet-macros", version = "0.5.0-pre98" }23jrsonnet-ir = { path = "./crates/jrsonnet-ir", version = "0.5.0-pre98" }24jrsonnet-ir-parser = { path = "./crates/jrsonnet-ir-parser", version = "0.5.0-pre98" }25jrsonnet-peg-parser = { path = "./crates/jrsonnet-peg-parser", version = "0.5.0-pre98" }26jrsonnet-rowan-parser = { path = "./crates/jrsonnet-rowan-parser", version = "0.5.0-pre98" }27jrsonnet-interner = { path = "./crates/jrsonnet-interner", version = "0.5.0-pre98" }28jrsonnet-stdlib = { path = "./crates/jrsonnet-stdlib", version = "0.5.0-pre98" }29jrsonnet-cli = { path = "./crates/jrsonnet-cli", version = "0.5.0-pre98" }30jrsonnet-types = { path = "./crates/jrsonnet-types", version = "0.5.0-pre98" }31jrsonnet-formatter = { path = "./crates/jrsonnet-formatter", version = "0.5.0-pre98" }32jrsonnet-lexer = { path = "./crates/jrsonnet-lexer", version = "0.5.0-pre98" }33jrsonnet-gcmodule = { version = "0.4.6" }34# Diagnostics.35# hi-doc is my library, which handles text formatting very well, but isn't polished enough yet36# Previous implementation was based on annotate-snippets, which I don't like for many reasons.37#38# I'm against using miette, because I want to reuse data between interpreter and annotations, yet miette39#   and other libraries want to handle spans etc by itself, which is okay for compiler diagnostics, but is40#   bad for interpreter, where interpreter and parser are paired much closer.41hi-doc = { version = "0.3.0", default-features = false }4243# CLI44clap = "4.5"45clap_complete = "4.5"4647# Parsing, manifestification is implemented manually everywhere48serde = "1.0.228"49serde_json = "1.0.149"50serde-saphyr = { version = "0.0.25", default-features = false, features = [51  "deserialize",52] }5354# Error handling55anyhow = "1.0.101"56thiserror = "2.0.18"5758# Code formatting59dprint-core = "0.67.4"6061# Evaluator62stacker = "0.1.23"63smallvec = "1.15.1"64educe = { version = "0.6.0", default-features = false }65url = "2.5.8"66rustversion = "1.0.22"6768# Stdlib hashing functions69md5 = "0.8.0"70sha1 = "0.11.0"71sha2 = "0.11.0"72sha3 = "0.11.0"73hex = "0.4.3"7475# Source code parsing.76# Jrsonnet has two parsers for jsonnet - one is for execution, and another is for better parsing diagnostics/lints/LSP.77# First (and fast one) is based on peg, second is based on rowan.78peg = "0.8.5"79logos = "0.16.1"80ungrammar = "1.16.1"81rowan = "0.16.1"8283mimallocator = "0.1.3"84indoc = "2.0"85tempfile = "3.24"86pathdiff = "0.2.3"87hashbrown = "0.17.0"88static_assertions = "1.1"89rustc-hash = "2.1"90num-bigint = "0.4.6"91strsim = "0.11.1"92proc-macro2 = "1.0"93quote = "1.0"94syn = "2.0"95drop_bomb = "0.1.5"96base64 = "0.22.1"97indexmap = "2.13.0"98itertools = "0.14.0"99xshell = "0.2.7"100101regex = "1.12"102lru = "0.17.0"103104syn-dissect-closure = "0.1.0"105106# Tests/benchmarks107insta = { version = "1.46", features = ["glob"] }108criterion = { version = "0.8" }109strip-ansi-escapes = "0.2.1"110111# Web112wasm-bindgen = "=0.2.106"113wasm-bindgen-futures = "0.4.56"114js-sys = "0.3.83"115console_error_panic_hook = "0.1"116getrandom = "0.3.4"117118[workspace.lints.rust]119unsafe_op_in_unsafe_fn = "deny"120121# TODO: add docs everywhere122# missing_doc = "warn"123124elided_lifetimes_in_paths = "allow"125explicit_outlives_requirements = "allow"126noop_method_call = "allow"127single_use_lifetimes = "allow"128variant_size_differences = "allow"129macro_expanded_macro_exports_accessed_by_absolute_paths = "allow"130131[workspace.lints.rustdoc]132all = "warn"133134[workspace.lints.clippy]135all = { level = "warn", priority = -1 }136nursery = { level = "warn", priority = -1 }137pedantic = { level = "warn", priority = -1 }138139ptr_arg = "allow"140# Too verbose141must_use_candidate = "allow"142# A lot of functions pass around errors thrown by code143missing_errors_doc = "allow"144# A lot of pointers have interior Rc145needless_pass_by_value = "allow"146# Its fine147wildcard_imports = "allow"148enum_glob_use = "allow"149module_name_repetitions = "allow"150# False positives151# https://github.com/rust-lang/rust-clippy/issues/6902152use_self = "allow"153# https://github.com/rust-lang/rust-clippy/issues/8539154iter_with_drain = "allow"155type_repetition_in_bounds = "allow"156# ci is being run with nightly, but library should work on stable157missing_const_for_fn = "allow"158# too many false-positives with .expect() calls159missing_panics_doc = "allow"160# false positive for IStr type. There is an configuration option for161# such cases, but it doesn't work:162# https://github.com/rust-lang/rust-clippy/issues/9801163mutable_key_type = "allow"164# false positives165redundant_pub_crate = "allow"166# Sometimes code is fancier without that167manual_let_else = "allow"168# Something is broken about that lint, can't be allowed for169# codegenerated-stdlib block170similar_names = "allow"171172[profile.release]173opt-level = 3174lto = "fat"175codegen-units = 1176debug = 0177panic = "abort"178strip = true179180[profile.releasedebug]181inherits = "release"182debug = 2183panic = "unwind"184strip = false
addedresult.adocdiffbeforeafterboth
--- /dev/null
+++ b/result.adoc
@@ -0,0 +1,2294 @@
+= Benchmarks
+
+There are multiple implementations of jsonnet implemented in different languages: Rust (this repo), https://github.com/google/go-jsonnet/[Go], https://github.com/databricks/sjsonnet[Scala], https://github.com/google/jsonnet[C++], https://github.com/moleike/haskell-jsonnet[Haskell].
+
+For simplicity, I will call these implementations by the language of their implementation.
+
+Unfortunately, I haven't managed to measure performance of Haskell implementation, because I wasn't able to build it, and there is no binaries published anywhere, so this implementation is omitted from the following benchmarks
+
+CPU: AMD Ryzen 9 9950X3D 16-Core Processor, 32 threads
+
+.Tested versions
+[%collapsible]
+====
+* Go: Jsonnet commandline interpreter (Go implementation) v0.22.0-rc1
+* C++: Jsonnet commandline interpreter v0.22.0-rc1
+* Scala (native/GraalVM): Sjsonnet 0.6.3
+* Rust (alternative): rsjsonnet 2026-03-23 (27be31532180c611383ceb2b7f03193ab1253487)
+* Rust (current): jrsonnet 0.5.0-pre98
+* Rust (current-experimental): jrsonnet 0.5.0-pre98
+* Rust (release): jrsonnet 0.5.0-pre96
+====
+
+== Real world
+
+=== Graalvm CI
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+> Note: No results for C++, takes longer than a hour
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 32.5 ± 1.7 
+| 28.6 
+| 38.0 
+| 1.01 ± 0.07 
+
+| `Rust (current-experimental)` 
+| 32.1 ± 1.3 
+| 29.1 
+| 35.4 
+| 1.00 
+
+| `Rust (release)` 
+| 49.0 ± 3.0 
+| 42.9 
+| 54.7 
+| 1.52 ± 0.11 
+
+| `Rust (alternative, rsjsonnet)` 
+| 69.0 ± 8.3 
+| 54.8 
+| 85.9 
+| 2.15 ± 0.27 
+
+| `Scala (native)` 
+| 72.6 ± 4.5 
+| 60.6 
+| 82.5 
+| 2.26 ± 0.17 
+
+| `Scala (GraalVM)` 
+| 66.0 ± 2.4 
+| 58.6 
+| 69.6 
+| 2.05 ± 0.11 
+|===
+
+=== Kube-prometheus manifests
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+> Note: No results for C++, too slow, takes hours, skews results
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 56.7 ± 4.0 
+| 49.5 
+| 69.3 
+| 1.00 
+
+| `Rust (current-experimental)` 
+| 57.0 ± 3.0 
+| 51.6 
+| 69.1 
+| 1.01 ± 0.09 
+
+| `Rust (release)` 
+| 70.2 ± 3.2 
+| 66.3 
+| 85.0 
+| 1.24 ± 0.10 
+
+| `Rust (alternative, rsjsonnet)` 
+| 61.5 ± 4.1 
+| 51.9 
+| 73.9 
+| 1.08 ± 0.10 
+
+| `Scala (native)` 
+| 216.9 ± 4.4 
+| 210.5 
+| 228.5 
+| 3.82 ± 0.28 
+
+| `Scala (GraalVM)` 
+| 195.4 ± 9.7 
+| 181.5 
+| 216.0 
+| 3.45 ± 0.29 
+|===
+
+== Benchmarks from C++ jsonnet (/perf_tests)
+
+=== Large string join
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+{
+    text: std.join(',', std.makeArray(76846, function(_) 'x')),
+}
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 5.7 ± 0.4 
+| 5.1 
+| 7.6 
+| 2.11 ± 0.23 
+
+| `Rust (current-experimental)` 
+| 6.3 ± 0.4 
+| 5.7 
+| 8.2 
+| 2.32 ± 0.25 
+
+| `Rust (release)` 
+| 2.7 ± 0.2 
+| 2.4 
+| 3.8 
+| 1.00 
+
+| `Rust (alternative, rsjsonnet)` 
+| 12.8 ± 2.0 
+| 10.1 
+| 20.6 
+| 4.70 ± 0.85 
+
+| `Go` 
+| 45.4 ± 1.9 
+| 41.8 
+| 49.5 
+| 16.71 ± 1.65 
+
+| `Scala (native)` 
+| 10.1 ± 1.0 
+| 8.0 
+| 14.0 
+| 3.70 ± 0.51 
+
+| `Scala (GraalVM)` 
+| 8.1 ± 0.6 
+| 6.5 
+| 10.0 
+| 2.96 ± 0.33 
+
+| `C++` 
+| 39.5 ± 3.0 
+| 33.4 
+| 47.1 
+| 14.51 ± 1.71 
+|===
+
+=== Large string template
+
+> Note: No results for Go, fails with os stack size exhausion
+
+> Note: No results for C++, too slow, takes hours, skews results
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 2.2 ± 0.3 
+| 1.9 
+| 4.0 
+| 1.00 ± 0.15 
+
+| `Rust (current-experimental)` 
+| 2.2 ± 0.2 
+| 2.0 
+| 3.3 
+| 1.00 
+
+| `Rust (release)` 
+| 2.8 ± 0.2 
+| 2.5 
+| 4.2 
+| 1.26 ± 0.15 
+
+| `Rust (alternative, rsjsonnet)` 
+| 3.5 ± 0.4 
+| 3.0 
+| 5.7 
+| 1.57 ± 0.22 
+
+| `Scala (native)` 
+| 14.3 ± 1.0 
+| 12.2 
+| 17.6 
+| 6.43 ± 0.73 
+
+| `Scala (GraalVM)` 
+| 14.2 ± 0.8 
+| 11.8 
+| 16.0 
+| 6.37 ± 0.65 
+|===
+
+=== Realistic 1
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+> Note: No results for C++, too slow, takes hours, skews results
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+local utils = {
+  Func3(aaaaaaa, bbbbbbb, cccc)::
+    'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/%s/XXXXX/%s/XXXXXXXXXXXXXXX/%s'
+    % [aaaaaaa, bbbbbbb, cccc],
+};
+
+
+local long_list = [
+  '001xxxxxxxxxxxxxxx-xxx',
+  '002xxxxxxxxxxxxxxxxxx-xxx',
+  '003xxxxxxxxxxxxxxxx-xxxxxxx',
+  '004xxxxxx-xxxxxx',
+  '005xxxx-xxx-xxxx',
+  '006xxx-xxx-xxxxxx',
+  '007xxx-xxx-xxxx-xxxx',
+  '008xxx-xxx-xxxx-xxxx-xxxxxxx',
+  '009xxx-xxx-xxxxx-xxxx-xxxxxxx-xxxxxx',
+  '010xxx-xxx-xxxx-xxxxxxx-xxxxxx-xxxxxxx',
+  '011xxx-xxx-xxxxx-xxxxxxxx-xxxxxxx',
+  '012xxx-xxx-xxxx-xxxxxxxx-xxxxxxx-xxxxxx',
+  '013xxx-xxx-xxxx-xxxxxxxxxx',
+  '014xxx-xxx-xxxxx-xxxxxx-xx',
+  '015xxx-xxx-xxxxxx-xxxxxxx',
+  '016xxx-xxx-xxxx-xxxxxxxx-xxxxx',
+  '017xxx-xxx-xxxx-xxxxxxxxxxxxxxx',
+  '018xxx-xxx-xxxx-xxxxxxxx-xxxxxxx-xxxxxxx',
+  '019xxx-xxx-xxxx-xxxxxxxx-xx',
+  '020xxx-xxx-xxxx-xxxxxxxxxxxxxxxx',
+  '021xxx-xxx-xxxx-xxxxxxxx-xxxxxxxxxxxx-xxx',
+  '022xxx-xxxx-xxxx-xxxx-xxxxxxx',
+  '023xxx-xxxx-xxxx-xxx-xxxxxxx-xxxxxx-xxxxxxx',
+  '024xxx-xxx-xxxx-xxx-xxxx-xxxx-xxx-xxxxxxxxx',
+  '025xxx-xxxx-xxxx-xxxxxxxxx',
+  '026xxx-xxx-xxxx-xxx-xxxxxxx',
+  '027xxx-xxx-xxxx-xxx-xxxxxxx',
+  '028xxx-xxx-xxxx-xxxxxxxxxx',
+  '029xxx-xxx-xxxx-xxxxxx',
+  '030xxx-xxx-xxxx-xxx-xxxxxxx',
+  '031xxx-xxx-xxxx-xxx-xxxxxxxx',
+  '032xxx-xxx-xxxxx-xxxxxxxxxxxx-xxxxxxx',
+  '033xxx-xxx-xxxx-xxx-xxxx-xxxx',
+  '034xxx-xxx-xxxx-xxx-xxxxxxxx-xxxxxxxx',
+  '035xxx-xxx-xxxx-xxxxxxx',
+  '036xxx-xxx-xxxx-xxxxxxxx-xxxxxxx',
+  '037xxx-xxx-xxxx-xxxxxx',
+  '038xxx-xxx-xxxx-xxxxxxxxxx',
+  '039xxxx-xxx-xxxx-xxxxxx-xxxxxx-xxxxxxx',
+  '040xxx-xxx-xxxx-xxxxxx-xxxxxxx',
+  '041xxxx-xxx-xxxx-xxxxxx-xx',
+  '042xxx-xxx-xxxx-xxxxxxxxxxx',
+  '043xxx-xxx-xxxx-xxxxxxxxxxx-xxxxxxx',
+  '044xxx-xxx-xxxx-xxxxxxx-xxx-xxxxxx',
+  '045xxx-xxx-xxxx-xxxxxx-xxx-xxxxxx-xxx',
+  '046xxx-xxx-xxxx-xxxxxx-xxx-xxxxxx-xxx',
+  '047xxx-xxx-xxxx-xxxxxx-xxx-xxxxxx-xxxxxxx',
+  '048xxx-xxx-xxxx-xxxxxx-xxx-xxxxxx-xxxxxxxx',
+  '049xxx-xxx-xxxx-xxxxxx-xxx-xxxxxx-xxxxxxxxx',
+  '050xxx-xxx-xxxxx-xxxxx-xxxxxxx',
+  '051xxx-xxx-xxxx-xxxxx-xxxxxxxx-xxxxxx',
+  '052xxx-xxx-xxxx-xxxxx-xx',
+  '053xxx-xxx-xxxx-xxxx-xxxxxxx-xxx-xxxxxxx',
+  '054xxx-xxx-xxxx-xxxx-xxxxxxx-xxx-xxxxxx',
+  '055xxx-xxx-xxxx-xxx',
+  '056xxx-xxx-xxxx-xxxxxxx-xxxxxxx',
+  '057xxx-xxx-xxxx-xxxxxxx-xxx-xxxxxxx',
+  '058xxx-xxx-xxxx-xxxxxxxxx-xxxxxx-xxxxxxx',
+  '059xxx-xxx-xxxx-xx-xxxxxxxxxxx-xxxxx',
+  '060xxx-xxx-xxxx-xxxxxxxxxxxxxx-xxxxxxx',
+  '061xxx-xxx-xxxx-xxxxxxxx-xxxxxxx',
+  '062xxx-xxx-xxxx-xxxxxxxxxxxxx-xxxxxxx',
+  '063xxx-xxx-xxxx-xxxxxx-xxxxxxx',
+  '064xxx-xxx-xxxxx-xxxxxx-xxxxxxx',
+  '065xxx-xxx-xxxx-xxxxx-xxxxx',
+  '066xxx-xxx-xxxx-xxxxx-xxxx',
+  '067xxx-xxx-xxxx-xxxxxxxxxxxxxxxxx',
+  '068xxx-xxx-xxxx-xxxxxxxx-xxxxx-xxx',
+  '069xxx-xxx-xxxx-xxxxxxxx-xx-xxx-xxxxxxxx',
+  '070xxx-xxx-xxxx-xxxxxxxx-xxxxxx-xxxxxxx',
+  '071xxx-xxx-xxxx-xxxxxxxxxx',
+  '072xxx-xxxx-xxxx-xxxxxxxxxxxxxxxx',
+  '073xxx-xxx-xxxx-xxxxxx-xxxxxx-xxxxxxx',
+  '074xxx-xxx-xxxx-xxxxxxx-xxxxxxxxxxxxx',
+  '075xxx-xxx-xxxx-xxxxxxx-xxxxxxxxxxxxx-xxxxxxxxx',
+  '076xxx-xxx-xxxx-xxxxxxxxxxxxx-xxxxxxx',
+  '077xxx-xxx-xxxx-xxxxxxxxx-xxxxxxx-x2',
+  '078xxx-xxx-xxxx-xxx',
+  '079xxx-xxx-xxxx-xxxxxxxxxxxx',
+  '080xxx-xxx-xxxx-xxxxxxxxx-xxxxxxxx',
+  '081xxx-xxx-xxxx-xxxxxxxx-xxxxxxxxx',
+  '082xxx-xxx-xxxx-xxxxxxxxx',
+  '083xxx-xxx-xxxx-xxxxxxx',
+  '084xxx-xxx-xxxx-xxxxxxx-xxxxxx',
+  '085xxxx-xxx-xxxxxxx-xxxxx-xxxx',
+  '086xxx-xxx-xxxxxxxx-xxxx-xxxxxxxxxx',
+  '087xxx-xxx-xxxxxxx-xxxxxx-xxxxxxx',
+  '088xxx-xxx-xxxxxxx-xxxxxxxx',
+  '089xxx-xxx-xxxxxxxx-xxxxxxx',
+  '090xxx-xxx-xxxxxxxx-xxxxxxx-xxxxxx',
+  '091xxx-xxxx-xxxxxxxxxx',
+  '092xxx-xxx-xxxxxx-xx',
+  '093xxx-xxx-xxxxxxx',
+  '094xxx-xxx-xxxxxxx-xxxxx',
+  '095xxx-xxx-xxxxxxxxxx',
+  '096xxx-xxx-xxxxxxxxxxxxxxx',
+  '098xxx-xxx-xxxxxxxxxxxxxxxxx',
+  '098xxx-xxx-xxxxxxxx-xxxxxxx-xxxxxxx',
+  '099xxx-xxx-xxxxxxxx-xx',
+  '100xxx-xxx-xxxx-xxxxxxxxxxx-xxxxxxx',
+  '101xxx-xxxx-xxxxxxxxxxxxxxxx',
+  '102xxx-xxx-xxxxxxxxxxxxxxxxxx',
+  '103xxx-xxx-xxxxxxxx-xxxxxxxxxxxx-xxx',
+  '104xxx-xxx-xxxx-xxxxxxx',
+  '105xxx-xxx-xxx-xxxxxxx-xxxxxx-xxxxxxx',
+  '106xxx-xxx-xxx-xxxx-xxxx-xxx-xxxxxxxxx',
+  '107xxx-xxx-xxxxxxxxx',
+  '108xxx-xxx-xxx-xxxxxxx',
+  '109xxx-xxx-xxx-xxxxxxx',
+  '110xxx-xxxx-xxxxx',
+  '111xxx-xxx-xxx-xxxx-xxxx',
+  '112xxx-xxx-xxx-xxxxxxx',
+  '113xxx-xxx-xxx-xxxxxxx',
+  '114xxx-xxx-xxxxxxxxxxxx-xxxxxxx',
+  '115xxx-xxx-xxx-xxxx-xxxx',
+  '116xxx-xxx-xxx-xxxxxxxx-xxxxxxxx',
+  '117xxx-xxx-xxxxxxx',
+  '118xxx-xxx-xxxxxxxx-xxxxxxx',
+  '119xxx-xxx-xxxxxx',
+  '120xxxx-xxx-xxxxxxxxxx',
+  '121xxx-xxx-xxxxxx-xxxxxx-xxxxxxx',
+  '122xxx-xxx-xxxxxx-xxxxxxx',
+  '123xxx-xxx-xxxxxx-xx',
+  '124xxxx-xxx-xxx-xxxx-xxxxxxx',
+  '125xxx-xxx-xxxxxxxxxxx',
+  '126xxx-xxx-xxxxxxxxxxx-xxxxxxx',
+  '127xxx-xxx-xxxxxx-xxx-xxxxxx',
+  '128xxx-xxx-xxxxxxxxxx',
+  '129xxx-xxx-xxxxxxxxxx-xxx',
+  '130xxx-xxx-xxxxx-xxxxxxx',
+  '131xxx-xxx-xxxxxx-xxxxxxxx-xxx',
+  '132xxx-xxx-xxxxx-xxxxxxxx-xxxxxx',
+  '133xxx-xxx-xxxxx-xx',
+  '134xxx-xxx-xxxx-xxxxxxx-xxx-xxxxxxx',
+  '135xxx-xxx-xxxx-xxxxxxx-xxx-xxxxxx',
+  '136xxx-xxx-xxxxxxxxxxxxxxx',
+  '137xxx-xxx-xxx',
+  '138xxx-xxx-xxxxxxx-xxxxxxx',
+  '139xxx-xxx-xxxxxxx-xxx-xxxxxxx',
+  '140xxx-xxx-xxxxxxxxx-xxxxxx-xxxxxxx',
+  '141xxx-xxx-xxxxxxxxxx-xxxx-xxxxxxx',
+  '142xxx-xxx-xx-xxxxxxxxxx-xxxxx',
+  '143xxx-xxx-xxxxxxxxxxxxxx-xxxxxxx',
+  '144xxx-xxx-xxxxxxxxxxxxxxxxx',
+  '145xxx-xxx-xxxxxxxx-xxxxxxx',
+  '146xxx-xxx-xxxxxxxxxxxxx-xxxxxxx',
+  '147xxx-xxx-xxxxxxx-xxxxxxx',
+  '148xxx-xxx-xxxxxx-xxxxxxx',
+  '149xxx-xxx-xxxxx-xxxxx',
+  '150xxx-xxx-xxxxx-xxxx',
+  '151xxx-xxx-xxxxxxxxxxxxxxxxx',
+  '152xxx-xxx-xxxxxxxxxxxxxxxxxxx',
+  '153xxx-xxx-xxxxxxxxx-xxxxx-xxx',
+  '154xxx-xxx-xxxxxxxx-xxxxx-xxxx-xxxx',
+  '155xxx-xxx-xxxxxxxx-xxxxxxxxxxxx-xxxx',
+  '156xxx-xxx-xxxxxxxx-xx-xxx-xxxxxxxx',
+  '157xxx-xxx-xxxxxxxx-xxxxxx-xxxxxxx',
+  '158xxx-xxx-xxxxxxxxxx',
+  '159xxx-xxx-xxxx-xxxxxx',
+  '160xxx-xxx-xxxxxxxxxx',
+  '161xxx-xxx-xxxxxxxxxxxxx',
+  '162xxx-xxx-xxxxxxxxxxxxxxxx',
+  '163xxx-xxx-xxxxx-xxxxxx-xxxxxxx',
+  '164xxx-xxx-xxxxxxx-xxxxxxxxxxxxx',
+  '165xxx-xxx-xxxxxxxxxxxxxx-xxxxxxx',
+  '166xxx-xxx-xxxxxxxxx-xxxxxxx-x2',
+  '167xxx-xxx-xxx',
+  '168xxx-xxx-xxxxxxxxxxxx',
+  '169xxx-xxx-xxxxxxxxx-xxxxxxxx',
+  '170xxx-xxx-xxxxxxxxx-xxx-xxxxxxx',
+  '171xxx-xxx-xxxxxxxxx',
+  '172xxx-xxxx-xxxxxxxxx',
+  '173xxx-xxx',
+  '174xxx-xxxxxx-xxxxxxx',
+  '175xxx-xxxxxx-xxxxxx-xxxx',
+  '176xxx-xxxxxx-xxxxx',
+  '177xxx-xxxxx-xxxxxxxx',
+  '178xxx-xxxxxx',
+  '179xxx-xxxxxxx-xxxx',
+  '180xxx-xxxxxxx-xxxx-xxxx',
+  '181xxx-xxxxxxx-xxxx-xxxxxxx',
+  '182xxx-xxxxxxx-xxxx-xxxxxxxxxxxxxxx',
+  '183xxx-xxxxxxxx-xxxx-xxxxx',
+  '184xxx-xxxxxxx-xxxx-xxxxxxx',
+  '185xxx-xxxxxxx-xxxx-xxxxxxxx-xxxxxxx',
+  '186xxx-xxxxxxx-xxxx-xxx',
+  '187xxx-xxxxxxx-xxxx-xxxxxxx-xxx-xxxxxxx',
+  '188xxx-xxxxxxx-xxxx-xxxxxxxxxxxxxx-xxxxxxx',
+  '189xxx-xxxxxxxx-xxxx-xxxxxxxxxxxxxxxxx',
+  '190xxx-xxxxxxx-xxxx-xxxxx-xxxxxx-xxxxxxx',
+  '191xxx-xxxxxxx-xxxxxxxxxx',
+  '192xxx-xxxxxxx-xxxxxxx',
+  '193xxx-xxxxxxx-xxxxxxxxxxxxxxx',
+  '194xxx-xxxxxxx-xxxxx',
+  '195xxx-xxxxxxx-xxxxxxx',
+  '196xxx-xxxxxxx-xxxxxxxx-xxxxxxx',
+  '197xxx-xxxxxxx-xxx',
+  '198xxx-xxxxxxx-xxxxxxx-xxx-xxxxxxx',
+  '199xxx-xxxxxxx-xxxxxxxxxxxxxx-xxxxxxx',
+  '200xxx-xxxxxxxx-xxxxxxxxxxxxxxxxx',
+  '201xxx-xxxxxxx-xxxxx-xxxxxx-xxxxxxx',
+  '202xxx-xxx',
+  '203xxx-xxx-xxxxxx',
+  '204xxxxxxxxx-xxx',
+  '205xxxxxxxxxxx-xxx',
+  '206xxxxxxxxx-xxxxxxx',
+  '207xxxx-xxxxxx-xxxxxxxxxxx-xxxxx1',
+  '208xxxx-xxxxxxxx-xxxxxxxx-xxxxx1',
+  '209xxxx-xxxxxxx-xxxxxxx-xxxxx1',
+  '209xxxx-xxxxxxx-xxxxxxx-xxxxx2',
+  '210xxxx-xxxx-xxxxxxx-xxxxx1',
+  '211xxxx-xxxxx-xxxxxxxx1-xxxxx1',
+  '212xxxx-xxxx-xxxxxxxx2-xxxxx1',
+  '213xxxx-xxxx-xxxxxxx1-xxxxx1',
+  '214xxxx-xxxx-xxxxxxx2-xxxxx1',
+  '215xxxxxxxxx-xxxxxx',
+  '216xxxxxxxxx-xxxxxxx',
+  '217xxxxxxxxx-xxxx',
+];
+
+{
+  'yyyyyyyyy': {
+    local Func3(z, n) = utils.Func3('yyyyyyyyy', z, n),
+
+    global: {
+      [n]: {
+        members: [
+          Func3(z, '%s-gggg-%s-%s' % [n, z, suffix]),
+          for z in ['ooooooo-a', 'ooooooo-b', 'ooooooo-c',
+                       'ooooooo-a', 'ooooooo-b', 'ooooooo-c']
+          for suffix in ['a', 'b', 'c']
+        ],
+      }
+      for n in long_list
+    },
+  },
+}
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 6.0 ± 0.4 
+| 5.5 
+| 8.3 
+| 1.01 ± 0.08 
+
+| `Rust (current-experimental)` 
+| 5.9 ± 0.3 
+| 5.4 
+| 7.3 
+| 1.00 
+
+| `Rust (release)` 
+| 6.7 ± 0.3 
+| 6.2 
+| 7.9 
+| 1.13 ± 0.08 
+
+| `Rust (alternative, rsjsonnet)` 
+| 8.1 ± 0.6 
+| 7.3 
+| 10.2 
+| 1.37 ± 0.13 
+
+| `Scala (native)` 
+| 13.1 ± 1.1 
+| 10.5 
+| 16.8 
+| 2.22 ± 0.23 
+
+| `Scala (GraalVM)` 
+| 14.1 ± 0.8 
+| 11.9 
+| 16.1 
+| 2.39 ± 0.19 
+|===
+
+=== Realistic 2
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+> Note: No results for C++, too slow, takes hours, skews results
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+local rfc3339(timestamp) = '1970-01-01T00:00:00Z';
+
+local name1(a, b, c) =
+  'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%sBBBBBBB%sCCCCCCCCCCC%s'
+  % [a, b, c];
+
+local name2(x) =
+  'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%s' % x;
+
+local T1 = 'PPPPPPPPPPPPPPPPPPPPPPP';
+local T2 = 'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ';
+
+local LOCATIONS = [
+  'europe-west1-b',
+  'europe-west1-c',
+  'europe-west1-d',
+  'europe-west2-a',
+  'europe-west2-b',
+  'europe-west2-c',
+  'europe-west3-a',
+  'europe-west3-b',
+  'europe-west3-c',
+  'europe-west4-a',
+  'europe-west4-b',
+  'europe-west4-c',
+  'us-central1-a',
+  'us-central1-b',
+  'us-central1-c',
+  'us-central1-f',
+  'us-east1-b',
+  'us-east1-c',
+  'us-east1-d',
+  'us-east4-a',
+  'us-east4-b',
+  'us-east4-c',
+  'us-west1-a',
+  'us-west1-b',
+  'us-west1-c',
+];
+
+
+// The return value is a function to allow it to be parameterized.
+function(
+  timestamp=0,
+  x='xxxxxxxxxxxxxxxxxxx',
+  prefix='prefix',
+  num1=50,
+  count=25,
+  offset=0,
+)
+  local rfc_timestamp = rfc3339(timestamp);
+
+  local func1(i) =
+    local location = LOCATIONS[i % std.length(LOCATIONS)];
+    [
+      local name = '%s-%000d-%000d' % [prefix, i, j];
+      {
+        field_zz1: rfc_timestamp,
+        fie_z2: {
+          field_z3: name1(x, location, name),
+          field_zzzzzzzzzz4: name2(x),
+          field_zzz5: [name],
+          field_z6: T1,
+          field_z7: location,
+          fi_8: '???',
+          fiel_z9: '99',
+        },
+      }
+      for j in std.range(0, num1 - 1)
+    ];
+
+  local func2(i) =
+    local location = LOCATIONS[i % std.length(LOCATIONS)];
+    local all = [
+      name1(x, location, '%s-%000d-%000d' % [prefix, i, j])
+      for j in std.range(0, num1 - 1)
+    ];
+    [
+      {
+        field_yy1: rfc_timestamp,
+        field_yyyyy2: 'EEEE',
+        field_yyyyy3: {
+          field_y4: T2,
+          field_yyyyyyy5: p,
+          field_yyyyyyy6: q,
+        },
+      }
+      for p in all
+      for q in all
+      if p != q
+    ];
+
+
+  {
+    field_x1: '-----',
+    field_xxxxxxxxxxxxxxxx2: std.join([], [
+      func1(offset * count + i)
+      for i in std.range(0, count - 1)
+    ]),
+    field_xxxxxxxxxxxxxxxxxxxxxx3: std.join([], [
+      func2(offset * count + i)
+      for i in std.range(0, count - 1)
+    ]),
+  }
+
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 218.8 ± 13.7 
+| 201.0 
+| 255.5 
+| 1.35 ± 0.10 
+
+| `Rust (current-experimental)` 
+| 221.2 ± 11.0 
+| 209.1 
+| 250.3 
+| 1.36 ± 0.08 
+
+| `Rust (release)` 
+| 162.5 ± 5.7 
+| 154.4 
+| 177.0 
+| 1.00 
+
+| `Rust (alternative, rsjsonnet)` 
+| 174.4 ± 6.2 
+| 164.3 
+| 186.2 
+| 1.07 ± 0.05 
+
+| `Scala (native)` 
+| 447.7 ± 17.4 
+| 426.0 
+| 485.3 
+| 2.76 ± 0.14 
+
+| `Scala (GraalVM)` 
+| 441.3 ± 16.4 
+| 420.3 
+| 479.1 
+| 2.72 ± 0.14 
+|===
+
+== Benchmarks from C++ jsonnet (/benchmarks)
+
+=== Tail call
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+/*
+Copyright 2015 Google Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+local sum(x) =
+  if x == 0 then
+    0
+  else
+    x + sum(x - 1);
+sum(300)
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [µs] 
+| Min [µs] 
+| Max [µs] 
+| Relative 
+
+| `Rust (current)` 
+| 891.3 ± 111.4 
+| 727.6 
+| 2682.4 
+| 1.03 ± 0.20 
+
+| `Rust (current-experimental)` 
+| 862.8 ± 124.7 
+| 715.8 
+| 1826.4 
+| 1.00 
+
+| `Rust (release)` 
+| 935.0 ± 97.7 
+| 769.7 
+| 1796.3 
+| 1.08 ± 0.19 
+
+| `Rust (alternative, rsjsonnet)` 
+| 1242.7 ± 160.8 
+| 1032.2 
+| 3444.5 
+| 1.44 ± 0.28 
+
+| `Go` 
+| 2720.3 ± 292.6 
+| 2099.6 
+| 4398.7 
+| 3.15 ± 0.57 
+
+| `Scala (native)` 
+| 2537.5 ± 389.6 
+| 2051.2 
+| 4220.6 
+| 2.94 ± 0.62 
+
+| `Scala (GraalVM)` 
+| 1733.0 ± 257.4 
+| 1385.8 
+| 3193.2 
+| 2.01 ± 0.42 
+
+| `C++` 
+| 19697.0 ± 1508.1 
+| 17390.4 
+| 25383.2 
+| 22.83 ± 3.73 
+|===
+
+=== Inheritance recursion
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+/*
+Copyright 2015 Google Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+local Fib = {
+  n: 1,
+  local outer = self,
+  r: if self.n <= 1 then 1 else (Fib { n: outer.n - 1 }).r + (Fib { n: outer.n - 2 }).r,
+};
+
+(Fib { n: 25 }).r
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 192.1 ± 6.2 
+| 180.6 
+| 204.7 
+| 3.88 ± 0.17 
+
+| `Rust (current-experimental)` 
+| 197.1 ± 8.0 
+| 183.2 
+| 212.7 
+| 3.98 ± 0.20 
+
+| `Rust (release)` 
+| 249.4 ± 10.5 
+| 227.2 
+| 270.4 
+| 5.04 ± 0.26 
+
+| `Rust (alternative, rsjsonnet)` 
+| 118.1 ± 1.8 
+| 115.9 
+| 124.3 
+| 2.39 ± 0.08 
+
+| `Scala (native)` 
+| 49.5 ± 1.5 
+| 47.4 
+| 55.5 
+| 1.00 
+
+| `Scala (GraalVM)` 
+| 62.6 ± 2.1 
+| 58.8 
+| 68.5 
+| 1.27 ± 0.06 
+|===
+
+=== Simple recursive call
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+/*
+Copyright 2015 Google Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+local fibonacci(n) =
+  if n <= 1 then
+    1
+  else
+    fibonacci(n - 1) + fibonacci(n - 2);
+
+fibonacci(25)
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 34.5 ± 0.6 
+| 33.3 
+| 36.0 
+| 1.81 ± 0.07 
+
+| `Rust (current-experimental)` 
+| 32.8 ± 0.7 
+| 31.7 
+| 35.0 
+| 1.73 ± 0.07 
+
+| `Rust (release)` 
+| 42.8 ± 0.8 
+| 41.8 
+| 45.2 
+| 2.25 ± 0.08 
+
+| `Rust (alternative, rsjsonnet)` 
+| 40.5 ± 1.2 
+| 38.9 
+| 44.6 
+| 2.13 ± 0.09 
+
+| `Scala (native)` 
+| 19.0 ± 0.6 
+| 17.6 
+| 20.4 
+| 1.00 
+
+| `Scala (GraalVM)` 
+| 33.5 ± 10.1 
+| 22.8 
+| 54.3 
+| 1.76 ± 0.54 
+
+| `C++` 
+| 149.7 ± 27.2 
+| 82.8 
+| 175.4 
+| 7.87 ± 1.45 
+|===
+
+=== Foldl string concat
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+std.foldl(function(e, res) e + res, std.makeArray(20000, function(i) 'aaaaa'), '')
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 7.2 ± 1.6 
+| 4.2 
+| 14.4 
+| 1.00 
+
+| `Rust (current-experimental)` 
+| 7.8 ± 1.5 
+| 4.4 
+| 12.4 
+| 1.08 ± 0.32 
+
+| `Rust (release)` 
+| 9.0 ± 1.4 
+| 5.1 
+| 12.9 
+| 1.25 ± 0.34 
+
+| `Rust (alternative, rsjsonnet)` 
+| 110.1 ± 13.4 
+| 96.0 
+| 143.0 
+| 15.29 ± 3.90 
+
+| `Go` 
+| 4386.8 ± 587.0 
+| 3827.3 
+| 5908.8 
+| 609.22 ± 158.87 
+
+| `Scala (native)` 
+| 438.7 ± 50.8 
+| 334.9 
+| 553.4 
+| 60.92 ± 15.35 
+
+| `Scala (GraalVM)` 
+| 572.3 ± 59.1 
+| 485.1 
+| 737.3 
+| 79.48 ± 19.59 
+|===
+
+=== Array sorts
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+// A benchmark for builtin sort
+
+local reverse = std.reverse;
+local sort = std.sort;
+
+true
+&& std.assertEqual(std.range(1, 500), sort(std.range(1, 500)))
+&& std.assertEqual(std.range(1, 1000), sort(std.range(1, 1000)))
+&& std.assertEqual(reverse(std.range(1, 1000)), sort(std.range(1, 1000), keyF=function(x) -x))
+&& std.assertEqual(std.range(1, 1000), sort(reverse(std.range(1, 1000))))
+&& std.assertEqual(std.makeArray(2000, function(i) std.floor((i + 2) / 2)), sort(std.range(1, 1000) + reverse(std.range(1, 1000))))
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 1.6 ± 0.3 
+| 1.4 
+| 3.9 
+| 1.02 ± 0.23 
+
+| `Rust (current-experimental)` 
+| 1.6 ± 0.3 
+| 1.3 
+| 3.8 
+| 1.00 
+
+| `Rust (release)` 
+| 1.7 ± 0.3 
+| 1.4 
+| 4.1 
+| 1.08 ± 0.24 
+
+| `Rust (alternative, rsjsonnet)` 
+| 3.6 ± 0.4 
+| 3.2 
+| 5.9 
+| 2.32 ± 0.45 
+
+| `Go` 
+| 6.0 ± 0.7 
+| 5.2 
+| 12.1 
+| 3.82 ± 0.78 
+
+| `Scala (native)` 
+| 4.5 ± 0.7 
+| 3.6 
+| 7.0 
+| 2.88 ± 0.63 
+
+| `Scala (GraalVM)` 
+| 3.1 ± 0.5 
+| 2.4 
+| 6.7 
+| 1.95 ± 0.47 
+|===
+
+=== Lazy array
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+local f2(f) = function(x) f(f(x));
+local id(x) = x;
+
+local slowId = std.makeArray(20, function(i) if i == 0 then id else f2(slowId[i - 1]));
+
+slowId[15](42)
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 23.8 ± 2.3 
+| 16.5 
+| 29.2 
+| 2.07 ± 0.28 
+
+| `Rust (current-experimental)` 
+| 21.2 ± 2.4 
+| 14.4 
+| 27.0 
+| 1.84 ± 0.27 
+
+| `Rust (release)` 
+| 48.1 ± 3.6 
+| 41.5 
+| 57.3 
+| 4.18 ± 0.50 
+
+| `Rust (alternative, rsjsonnet)` 
+| 11.5 ± 1.1 
+| 9.8 
+| 15.0 
+| 1.00 
+
+| `Scala (native)` 
+| 27.2 ± 3.8 
+| 21.2 
+| 39.1 
+| 2.36 ± 0.40 
+
+| `Scala (GraalVM)` 
+| 25.7 ± 3.4 
+| 18.7 
+| 35.2 
+| 2.23 ± 0.36 
+
+| `C++` 
+| 137.1 ± 11.6 
+| 122.3 
+| 178.7 
+| 11.91 ± 1.50 
+|===
+
+=== Inheritance function recursion
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+local fibnext = {
+  a: super.a + super.b,
+  b: super.a,
+};
+local fib(n) =
+  if n == 0 then
+    { a: 1, b: 1 }
+  else
+    fib(n - 1) + fibnext;
+
+fib(25)
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [µs] 
+| Min [µs] 
+| Max [µs] 
+| Relative 
+
+| `Rust (current)` 
+| 853.7 ± 218.7 
+| 633.9 
+| 3225.6 
+| 1.04 ± 0.37 
+
+| `Rust (current-experimental)` 
+| 840.1 ± 248.6 
+| 641.3 
+| 3157.4 
+| 1.02 ± 0.40 
+
+| `Rust (release)` 
+| 821.1 ± 205.5 
+| 652.4 
+| 2766.4 
+| 1.00 
+
+| `Rust (alternative, rsjsonnet)` 
+| 1490.8 ± 380.8 
+| 1037.0 
+| 3584.4 
+| 1.82 ± 0.65 
+
+| `Go` 
+| 1538.2 ± 350.0 
+| 1237.3 
+| 4011.9 
+| 1.87 ± 0.63 
+
+| `Scala (native)` 
+| 3067.2 ± 561.2 
+| 2169.7 
+| 5725.8 
+| 3.74 ± 1.16 
+
+| `Scala (GraalVM)` 
+| 1995.8 ± 475.6 
+| 1436.2 
+| 5992.0 
+| 2.43 ± 0.84 
+|===
+
+=== String strips
+
+> Note: No results for C++, too slow, takes hours, skews results
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+// This string must be longer than max stack frames
+local veryLongString = std.join('', std.repeat(['e'], 510));
+
+std.assertEqual(std.stripChars(veryLongString + 'ok' + veryLongString, 'e'), 'ok') &&
+std.assertEqual(std.lstripChars(veryLongString + 'ok', 'e'), 'ok') &&
+std.assertEqual(std.rstripChars('ok' + veryLongString, 'e'), 'ok') &&
+
+true
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [µs] 
+| Min [µs] 
+| Max [µs] 
+| Relative 
+
+| `Rust (current)` 
+| 818.6 ± 195.1 
+| 631.5 
+| 3139.1 
+| 1.00 
+
+| `Rust (current-experimental)` 
+| 881.6 ± 266.1 
+| 638.7 
+| 3228.6 
+| 1.08 ± 0.41 
+
+| `Rust (release)` 
+| 6745.2 ± 1361.0 
+| 5310.4 
+| 10538.1 
+| 8.24 ± 2.57 
+
+| `Rust (alternative, rsjsonnet)` 
+| 1642.3 ± 431.3 
+| 1148.4 
+| 4036.4 
+| 2.01 ± 0.71 
+
+| `Go` 
+| 9171.4 ± 1488.9 
+| 5882.7 
+| 13881.3 
+| 11.20 ± 3.23 
+
+| `Scala (native)` 
+| 3513.3 ± 909.0 
+| 2382.5 
+| 6258.2 
+| 4.29 ± 1.51 
+
+| `Scala (GraalVM)` 
+| 2989.2 ± 788.2 
+| 1705.8 
+| 6001.7 
+| 3.65 ± 1.30 
+|===
+
+=== Big object
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+// Generator source
+local n = 2000;
+
+local objLocal(name, body) = 'local ' + name + ' = ' + body + ',';
+local objField(name, body) = name + ': ' + body + ',';
+
+local allLocals =
+  std.makeArray(n, function(i) objLocal('l' + i, '1'));
+
+local allFields =
+  std.makeArray(n, function(i) objField('f' + i, '2'));
+
+local indent = '  ';
+local indentAndSeparate(s) = indent + s + '\n';
+
+local objContents = std.map(indentAndSeparate, allLocals + allFields);
+
+local objectBody = std.join('', objContents);
+'{\n' + objectBody + '}\n'
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 1.2 ± 0.3 
+| 0.8 
+| 3.2 
+| 1.03 ± 0.38 
+
+| `Rust (current-experimental)` 
+| 1.2 ± 0.3 
+| 0.8 
+| 3.4 
+| 1.00 
+
+| `Rust (release)` 
+| 1.3 ± 0.3 
+| 0.9 
+| 4.0 
+| 1.12 ± 0.41 
+
+| `Rust (alternative, rsjsonnet)` 
+| 1.5 ± 0.3 
+| 1.2 
+| 4.3 
+| 1.28 ± 0.41 
+
+| `Go` 
+| 2.9 ± 0.3 
+| 2.4 
+| 5.1 
+| 2.49 ± 0.71 
+
+| `Scala (native)` 
+| 4.7 ± 0.5 
+| 3.5 
+| 6.9 
+| 4.10 ± 1.15 
+
+| `Scala (GraalVM)` 
+| 3.6 ± 0.4 
+| 2.8 
+| 6.0 
+| 3.10 ± 0.88 
+
+| `C++` 
+| 18.9 ± 1.6 
+| 16.7 
+| 25.9 
+| 16.41 ± 4.49 
+|===
+
+== Benchmarks from Go jsonnet (builtins)
+
+=== std.base64
+
+> Note: No results for Rust (alternative), slow benchmark, but only quick requested
+
+> Note: No results for C++, too slow, takes hours, skews results
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+{
+    foo: [
+        std.base64("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed turpis tincidunt id aliquet risus. Eget mauris pharetra et ultrices neque ornare aenean euismod. Diam quis enim lobortis scelerisque fermentum. Varius duis at consectetur lorem donec massa sapien. Diam sit amet nisl suscipit adipiscing bibendum est ultricies integer. Lectus urna duis convallis convallis tellus. Nibh ipsum consequat nisl vel pretium lectus quam id leo. Feugiat in ante metus dictum at tempor commodo. Velit dignissim sodales ut eu sem integer. Dictum sit amet justo donec. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed turpis tincidunt id aliquet risus. Eget mauris pharetra et ultrices neque ornare aenean euismod. Diam quis enim lobortis scelerisque fermentum. Varius duis at consectetur lorem donec massa sapien. Diam sit amet nisl suscipit adipiscing bibendum est ultricies integer. Lectus urna duis convallis convallis tellus. Nibh ipsum consequat nisl vel pretium lectus quam id leo. Feugiat in ante metus dictum at tempor commodo. Velit dignissim sodales ut eu sem integer. Dictum sit amet justo donec. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed turpis tincidunt id aliquet risus. Eget mauris pharetra et ultrices neque ornare aenean euismod. Diam quis enim lobortis scelerisque fermentum. Varius duis at consectetur lorem donec massa sapien. Diam sit amet nisl suscipit adipiscing bibendum est ultricies integer. Lectus urna duis convallis convallis tellus. Nibh ipsum consequat nisl vel pretium lectus quam id leo. Feugiat in ante metus dictum at tempor commodo. Velit dignissim sodales ut eu sem integer. Dictum sit amet justo donec. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed turpis tincidunt id aliquet risus. Eget mauris pharetra et ultrices neque ornare aenean euismod. Diam quis enim lobortis scelerisque fermentum. Varius duis at consectetur lorem donec massa sapien. Diam sit amet nisl suscipit adipiscing bibendum est ultricies integer. Lectus urna duis convallis convallis tellus. Nibh ipsum consequat nisl vel pretium lectus quam id leo. Feugiat in ante metus dictum at tempor commodo. Velit dignissim sodales ut eu sem integer. Dictum sit amet justo donec. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed turpis tincidunt id aliquet risus. Eget mauris pharetra et ultrices neque ornare aenean euismod. Diam quis enim lobortis scelerisque fermentum. Varius duis at consectetur lorem donec massa sapien. Diam sit amet nisl suscipit adipiscing bibendum est ultricies integer. Lectus urna duis convallis convallis tellus. Nibh ipsum consequat nisl vel pretium lectus quam id leo. Feugiat in ante metus dictum at tempor commodo. Velit dignissim sodales ut eu sem integer. Dictum sit amet justo donec. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus.") for i in std.range(0,100)
+    ],
+}
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 1.8 ± 0.4 
+| 1.2 
+| 5.3 
+| 1.01 ± 0.41 
+
+| `Rust (current-experimental)` 
+| 1.8 ± 0.6 
+| 1.2 
+| 5.1 
+| 1.00 
+
+| `Rust (release)` 
+| 2.1 ± 0.7 
+| 1.3 
+| 6.0 
+| 1.18 ± 0.56 
+
+| `Go` 
+| 9.2 ± 0.8 
+| 7.9 
+| 13.5 
+| 5.26 ± 1.78 
+
+| `Scala (native)` 
+| 6.0 ± 1.0 
+| 4.4 
+| 10.5 
+| 3.39 ± 1.25 
+
+| `Scala (GraalVM)` 
+| 3.9 ± 0.7 
+| 2.9 
+| 7.9 
+| 2.22 ± 0.84 
+|===
+
+=== std.base64Decode
+
+> Note: No results for Rust (alternative), slow benchmark, but only quick requested
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+{
+    foo: [
+        std.base64Decode("TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFNlZCB0dXJwaXMgdGluY2lkdW50IGlkIGFsaXF1ZXQgcmlzdXMuIEVnZXQgbWF1cmlzIHBoYXJldHJhIGV0IHVsdHJpY2VzIG5lcXVlIG9ybmFyZSBhZW5lYW4gZXVpc21vZC4gRGlhbSBxdWlzIGVuaW0gbG9ib3J0aXMgc2NlbGVyaXNxdWUgZmVybWVudHVtLiBWYXJpdXMgZHVpcyBhdCBjb25zZWN0ZXR1ciBsb3JlbSBkb25lYyBtYXNzYSBzYXBpZW4uIERpYW0gc2l0IGFtZXQgbmlzbCBzdXNjaXBpdCBhZGlwaXNjaW5nIGJpYmVuZHVtIGVzdCB1bHRyaWNpZXMgaW50ZWdlci4gTGVjdHVzIHVybmEgZHVpcyBjb252YWxsaXMgY29udmFsbGlzIHRlbGx1cy4gTmliaCBpcHN1bSBjb25zZXF1YXQgbmlzbCB2ZWwgcHJldGl1bSBsZWN0dXMgcXVhbSBpZCBsZW8uIEZldWdpYXQgaW4gYW50ZSBtZXR1cyBkaWN0dW0gYXQgdGVtcG9yIGNvbW1vZG8uIFZlbGl0IGRpZ25pc3NpbSBzb2RhbGVzIHV0IGV1IHNlbSBpbnRlZ2VyLiBEaWN0dW0gc2l0IGFtZXQganVzdG8gZG9uZWMuIFNjZWxlcmlzcXVlIG1hdXJpcyBwZWxsZW50ZXNxdWUgcHVsdmluYXIgcGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cy4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFNlZCB0dXJwaXMgdGluY2lkdW50IGlkIGFsaXF1ZXQgcmlzdXMuIEVnZXQgbWF1cmlzIHBoYXJldHJhIGV0IHVsdHJpY2VzIG5lcXVlIG9ybmFyZSBhZW5lYW4gZXVpc21vZC4gRGlhbSBxdWlzIGVuaW0gbG9ib3J0aXMgc2NlbGVyaXNxdWUgZmVybWVudHVtLiBWYXJpdXMgZHVpcyBhdCBjb25zZWN0ZXR1ciBsb3JlbSBkb25lYyBtYXNzYSBzYXBpZW4uIERpYW0gc2l0IGFtZXQgbmlzbCBzdXNjaXBpdCBhZGlwaXNjaW5nIGJpYmVuZHVtIGVzdCB1bHRyaWNpZXMgaW50ZWdlci4gTGVjdHVzIHVybmEgZHVpcyBjb252YWxsaXMgY29udmFsbGlzIHRlbGx1cy4gTmliaCBpcHN1bSBjb25zZXF1YXQgbmlzbCB2ZWwgcHJldGl1bSBsZWN0dXMgcXVhbSBpZCBsZW8uIEZldWdpYXQgaW4gYW50ZSBtZXR1cyBkaWN0dW0gYXQgdGVtcG9yIGNvbW1vZG8uIFZlbGl0IGRpZ25pc3NpbSBzb2RhbGVzIHV0IGV1IHNlbSBpbnRlZ2VyLiBEaWN0dW0gc2l0IGFtZXQganVzdG8gZG9uZWMuIFNjZWxlcmlzcXVlIG1hdXJpcyBwZWxsZW50ZXNxdWUgcHVsdmluYXIgcGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cy4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFNlZCB0dXJwaXMgdGluY2lkdW50IGlkIGFsaXF1ZXQgcmlzdXMuIEVnZXQgbWF1cmlzIHBoYXJldHJhIGV0IHVsdHJpY2VzIG5lcXVlIG9ybmFyZSBhZW5lYW4gZXVpc21vZC4gRGlhbSBxdWlzIGVuaW0gbG9ib3J0aXMgc2NlbGVyaXNxdWUgZmVybWVudHVtLiBWYXJpdXMgZHVpcyBhdCBjb25zZWN0ZXR1ciBsb3JlbSBkb25lYyBtYXNzYSBzYXBpZW4uIERpYW0gc2l0IGFtZXQgbmlzbCBzdXNjaXBpdCBhZGlwaXNjaW5nIGJpYmVuZHVtIGVzdCB1bHRyaWNpZXMgaW50ZWdlci4gTGVjdHVzIHVybmEgZHVpcyBjb252YWxsaXMgY29udmFsbGlzIHRlbGx1cy4gTmliaCBpcHN1bSBjb25zZXF1YXQgbmlzbCB2ZWwgcHJldGl1bSBsZWN0dXMgcXVhbSBpZCBsZW8uIEZldWdpYXQgaW4gYW50ZSBtZXR1cyBkaWN0dW0gYXQgdGVtcG9yIGNvbW1vZG8uIFZlbGl0IGRpZ25pc3NpbSBzb2RhbGVzIHV0IGV1IHNlbSBpbnRlZ2VyLiBEaWN0dW0gc2l0IGFtZXQganVzdG8gZG9uZWMuIFNjZWxlcmlzcXVlIG1hdXJpcyBwZWxsZW50ZXNxdWUgcHVsdmluYXIgcGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cy5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gU2VkIHR1cnBpcyB0aW5jaWR1bnQgaWQgYWxpcXVldCByaXN1cy4gRWdldCBtYXVyaXMgcGhhcmV0cmEgZXQgdWx0cmljZXMgbmVxdWUgb3JuYXJlIGFlbmVhbiBldWlzbW9kLiBEaWFtIHF1aXMgZW5pbSBsb2JvcnRpcyBzY2VsZXJpc3F1ZSBmZXJtZW50dW0uIFZhcml1cyBkdWlzIGF0IGNvbnNlY3RldHVyIGxvcmVtIGRvbmVjIG1hc3NhIHNhcGllbi4gRGlhbSBzaXQgYW1ldCBuaXNsIHN1c2NpcGl0IGFkaXBpc2NpbmcgYmliZW5kdW0gZXN0IHVsdHJpY2llcyBpbnRlZ2VyLiBMZWN0dXMgdXJuYSBkdWlzIGNvbnZhbGxpcyBjb252YWxsaXMgdGVsbHVzLiBOaWJoIGlwc3VtIGNvbnNlcXVhdCBuaXNsIHZlbCBwcmV0aXVtIGxlY3R1cyBxdWFtIGlkIGxlby4gRmV1Z2lhdCBpbiBhbnRlIG1ldHVzIGRpY3R1bSBhdCB0ZW1wb3IgY29tbW9kby4gVmVsaXQgZGlnbmlzc2ltIHNvZGFsZXMgdXQgZXUgc2VtIGludGVnZXIuIERpY3R1bSBzaXQgYW1ldCBqdXN0byBkb25lYy4gU2NlbGVyaXNxdWUgbWF1cmlzIHBlbGxlbnRlc3F1ZSBwdWx2aW5hciBwZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzLiBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gU2VkIHR1cnBpcyB0aW5jaWR1bnQgaWQgYWxpcXVldCByaXN1cy4gRWdldCBtYXVyaXMgcGhhcmV0cmEgZXQgdWx0cmljZXMgbmVxdWUgb3JuYXJlIGFlbmVhbiBldWlzbW9kLiBEaWFtIHF1aXMgZW5pbSBsb2JvcnRpcyBzY2VsZXJpc3F1ZSBmZXJtZW50dW0uIFZhcml1cyBkdWlzIGF0IGNvbnNlY3RldHVyIGxvcmVtIGRvbmVjIG1hc3NhIHNhcGllbi4gRGlhbSBzaXQgYW1ldCBuaXNsIHN1c2NpcGl0IGFkaXBpc2NpbmcgYmliZW5kdW0gZXN0IHVsdHJpY2llcyBpbnRlZ2VyLiBMZWN0dXMgdXJuYSBkdWlzIGNvbnZhbGxpcyBjb252YWxsaXMgdGVsbHVzLiBOaWJoIGlwc3VtIGNvbnNlcXVhdCBuaXNsIHZlbCBwcmV0aXVtIGxlY3R1cyBxdWFtIGlkIGxlby4gRmV1Z2lhdCBpbiBhbnRlIG1ldHVzIGRpY3R1bSBhdCB0ZW1wb3IgY29tbW9kby4gVmVsaXQgZGlnbmlzc2ltIHNvZGFsZXMgdXQgZXUgc2VtIGludGVnZXIuIERpY3R1bSBzaXQgYW1ldCBqdXN0byBkb25lYy4gU2NlbGVyaXNxdWUgbWF1cmlzIHBlbGxlbnRlc3F1ZSBwdWx2aW5hciBwZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzLiBTY2VsZXJpc3F1ZSBtYXVyaXMgcGVsbGVudGVzcXVlIHB1bHZpbmFyIHBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMuIFNjZWxlcmlzcXVlIG1hdXJpcyBwZWxsZW50ZXNxdWUgcHVsdmluYXIgcGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cy4gU2NlbGVyaXNxdWUgbWF1cmlzIHBlbGxlbnRlc3F1ZSBwdWx2aW5hciBwZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzLiBTY2VsZXJpc3F1ZSBtYXVyaXMgcGVsbGVudGVzcXVlIHB1bHZpbmFyIHBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMuIFNjZWxlcmlzcXVlIG1hdXJpcyBwZWxsZW50ZXNxdWUgcHVsdmluYXIgcGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cy4=") for i in std.range(0,100)
+    ],
+}
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 1.5 ± 0.4 
+| 1.1 
+| 4.4 
+| 1.00 
+
+| `Rust (current-experimental)` 
+| 1.6 ± 0.5 
+| 1.1 
+| 5.0 
+| 1.07 ± 0.47 
+
+| `Rust (release)` 
+| 2.0 ± 0.6 
+| 1.2 
+| 6.0 
+| 1.39 ± 0.58 
+
+| `Go` 
+| 8.3 ± 0.8 
+| 6.9 
+| 11.9 
+| 5.65 ± 1.77 
+
+| `Scala (native)` 
+| 5.0 ± 0.9 
+| 3.8 
+| 9.1 
+| 3.42 ± 1.18 
+
+| `Scala (GraalVM)` 
+| 3.4 ± 0.7 
+| 2.6 
+| 7.4 
+| 2.30 ± 0.83 
+|===
+
+=== std.base64DecodeBytes
+
+> Note: No results for Rust (alternative), slow benchmark, but only quick requested
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+{
+    foo: [
+        std.base64DecodeBytes("TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFNlZCB0dXJwaXMgdGluY2lkdW50IGlkIGFsaXF1ZXQgcmlzdXMuIEVnZXQgbWF1cmlzIHBoYXJldHJhIGV0IHVsdHJpY2VzIG5lcXVlIG9ybmFyZSBhZW5lYW4gZXVpc21vZC4gRGlhbSBxdWlzIGVuaW0gbG9ib3J0aXMgc2NlbGVyaXNxdWUgZmVybWVudHVtLiBWYXJpdXMgZHVpcyBhdCBjb25zZWN0ZXR1ciBsb3JlbSBkb25lYyBtYXNzYSBzYXBpZW4uIERpYW0gc2l0IGFtZXQgbmlzbCBzdXNjaXBpdCBhZGlwaXNjaW5nIGJpYmVuZHVtIGVzdCB1bHRyaWNpZXMgaW50ZWdlci4gTGVjdHVzIHVybmEgZHVpcyBjb252YWxsaXMgY29udmFsbGlzIHRlbGx1cy4gTmliaCBpcHN1bSBjb25zZXF1YXQgbmlzbCB2ZWwgcHJldGl1bSBsZWN0dXMgcXVhbSBpZCBsZW8uIEZldWdpYXQgaW4gYW50ZSBtZXR1cyBkaWN0dW0gYXQgdGVtcG9yIGNvbW1vZG8uIFZlbGl0IGRpZ25pc3NpbSBzb2RhbGVzIHV0IGV1IHNlbSBpbnRlZ2VyLiBEaWN0dW0gc2l0IGFtZXQganVzdG8gZG9uZWMuIFNjZWxlcmlzcXVlIG1hdXJpcyBwZWxsZW50ZXNxdWUgcHVsdmluYXIgcGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cy4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFNlZCB0dXJwaXMgdGluY2lkdW50IGlkIGFsaXF1ZXQgcmlzdXMuIEVnZXQgbWF1cmlzIHBoYXJldHJhIGV0IHVsdHJpY2VzIG5lcXVlIG9ybmFyZSBhZW5lYW4gZXVpc21vZC4gRGlhbSBxdWlzIGVuaW0gbG9ib3J0aXMgc2NlbGVyaXNxdWUgZmVybWVudHVtLiBWYXJpdXMgZHVpcyBhdCBjb25zZWN0ZXR1ciBsb3JlbSBkb25lYyBtYXNzYSBzYXBpZW4uIERpYW0gc2l0IGFtZXQgbmlzbCBzdXNjaXBpdCBhZGlwaXNjaW5nIGJpYmVuZHVtIGVzdCB1bHRyaWNpZXMgaW50ZWdlci4gTGVjdHVzIHVybmEgZHVpcyBjb252YWxsaXMgY29udmFsbGlzIHRlbGx1cy4gTmliaCBpcHN1bSBjb25zZXF1YXQgbmlzbCB2ZWwgcHJldGl1bSBsZWN0dXMgcXVhbSBpZCBsZW8uIEZldWdpYXQgaW4gYW50ZSBtZXR1cyBkaWN0dW0gYXQgdGVtcG9yIGNvbW1vZG8uIFZlbGl0IGRpZ25pc3NpbSBzb2RhbGVzIHV0IGV1IHNlbSBpbnRlZ2VyLiBEaWN0dW0gc2l0IGFtZXQganVzdG8gZG9uZWMuIFNjZWxlcmlzcXVlIG1hdXJpcyBwZWxsZW50ZXNxdWUgcHVsdmluYXIgcGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cy4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFNlZCB0dXJwaXMgdGluY2lkdW50IGlkIGFsaXF1ZXQgcmlzdXMuIEVnZXQgbWF1cmlzIHBoYXJldHJhIGV0IHVsdHJpY2VzIG5lcXVlIG9ybmFyZSBhZW5lYW4gZXVpc21vZC4gRGlhbSBxdWlzIGVuaW0gbG9ib3J0aXMgc2NlbGVyaXNxdWUgZmVybWVudHVtLiBWYXJpdXMgZHVpcyBhdCBjb25zZWN0ZXR1ciBsb3JlbSBkb25lYyBtYXNzYSBzYXBpZW4uIERpYW0gc2l0IGFtZXQgbmlzbCBzdXNjaXBpdCBhZGlwaXNjaW5nIGJpYmVuZHVtIGVzdCB1bHRyaWNpZXMgaW50ZWdlci4gTGVjdHVzIHVybmEgZHVpcyBjb252YWxsaXMgY29udmFsbGlzIHRlbGx1cy4gTmliaCBpcHN1bSBjb25zZXF1YXQgbmlzbCB2ZWwgcHJldGl1bSBsZWN0dXMgcXVhbSBpZCBsZW8uIEZldWdpYXQgaW4gYW50ZSBtZXR1cyBkaWN0dW0gYXQgdGVtcG9yIGNvbW1vZG8uIFZlbGl0IGRpZ25pc3NpbSBzb2RhbGVzIHV0IGV1IHNlbSBpbnRlZ2VyLiBEaWN0dW0gc2l0IGFtZXQganVzdG8gZG9uZWMuIFNjZWxlcmlzcXVlIG1hdXJpcyBwZWxsZW50ZXNxdWUgcHVsdmluYXIgcGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cy5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gU2VkIHR1cnBpcyB0aW5jaWR1bnQgaWQgYWxpcXVldCByaXN1cy4gRWdldCBtYXVyaXMgcGhhcmV0cmEgZXQgdWx0cmljZXMgbmVxdWUgb3JuYXJlIGFlbmVhbiBldWlzbW9kLiBEaWFtIHF1aXMgZW5pbSBsb2JvcnRpcyBzY2VsZXJpc3F1ZSBmZXJtZW50dW0uIFZhcml1cyBkdWlzIGF0IGNvbnNlY3RldHVyIGxvcmVtIGRvbmVjIG1hc3NhIHNhcGllbi4gRGlhbSBzaXQgYW1ldCBuaXNsIHN1c2NpcGl0IGFkaXBpc2NpbmcgYmliZW5kdW0gZXN0IHVsdHJpY2llcyBpbnRlZ2VyLiBMZWN0dXMgdXJuYSBkdWlzIGNvbnZhbGxpcyBjb252YWxsaXMgdGVsbHVzLiBOaWJoIGlwc3VtIGNvbnNlcXVhdCBuaXNsIHZlbCBwcmV0aXVtIGxlY3R1cyBxdWFtIGlkIGxlby4gRmV1Z2lhdCBpbiBhbnRlIG1ldHVzIGRpY3R1bSBhdCB0ZW1wb3IgY29tbW9kby4gVmVsaXQgZGlnbmlzc2ltIHNvZGFsZXMgdXQgZXUgc2VtIGludGVnZXIuIERpY3R1bSBzaXQgYW1ldCBqdXN0byBkb25lYy4gU2NlbGVyaXNxdWUgbWF1cmlzIHBlbGxlbnRlc3F1ZSBwdWx2aW5hciBwZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzLiBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gU2VkIHR1cnBpcyB0aW5jaWR1bnQgaWQgYWxpcXVldCByaXN1cy4gRWdldCBtYXVyaXMgcGhhcmV0cmEgZXQgdWx0cmljZXMgbmVxdWUgb3JuYXJlIGFlbmVhbiBldWlzbW9kLiBEaWFtIHF1aXMgZW5pbSBsb2JvcnRpcyBzY2VsZXJpc3F1ZSBmZXJtZW50dW0uIFZhcml1cyBkdWlzIGF0IGNvbnNlY3RldHVyIGxvcmVtIGRvbmVjIG1hc3NhIHNhcGllbi4gRGlhbSBzaXQgYW1ldCBuaXNsIHN1c2NpcGl0IGFkaXBpc2NpbmcgYmliZW5kdW0gZXN0IHVsdHJpY2llcyBpbnRlZ2VyLiBMZWN0dXMgdXJuYSBkdWlzIGNvbnZhbGxpcyBjb252YWxsaXMgdGVsbHVzLiBOaWJoIGlwc3VtIGNvbnNlcXVhdCBuaXNsIHZlbCBwcmV0aXVtIGxlY3R1cyBxdWFtIGlkIGxlby4gRmV1Z2lhdCBpbiBhbnRlIG1ldHVzIGRpY3R1bSBhdCB0ZW1wb3IgY29tbW9kby4gVmVsaXQgZGlnbmlzc2ltIHNvZGFsZXMgdXQgZXUgc2VtIGludGVnZXIuIERpY3R1bSBzaXQgYW1ldCBqdXN0byBkb25lYy4gU2NlbGVyaXNxdWUgbWF1cmlzIHBlbGxlbnRlc3F1ZSBwdWx2aW5hciBwZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzLiBTY2VsZXJpc3F1ZSBtYXVyaXMgcGVsbGVudGVzcXVlIHB1bHZpbmFyIHBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMuIFNjZWxlcmlzcXVlIG1hdXJpcyBwZWxsZW50ZXNxdWUgcHVsdmluYXIgcGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cy4gU2NlbGVyaXNxdWUgbWF1cmlzIHBlbGxlbnRlc3F1ZSBwdWx2aW5hciBwZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzLiBTY2VsZXJpc3F1ZSBtYXVyaXMgcGVsbGVudGVzcXVlIHB1bHZpbmFyIHBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMuIFNjZWxlcmlzcXVlIG1hdXJpcyBwZWxsZW50ZXNxdWUgcHVsdmluYXIgcGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cy4=") for i in std.range(0,100)
+    ],
+}
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 23.9 ± 1.8 
+| 21.4 
+| 30.6 
+| 1.06 ± 0.13 
+
+| `Rust (current-experimental)` 
+| 24.7 ± 2.1 
+| 21.9 
+| 30.8 
+| 1.10 ± 0.14 
+
+| `Rust (release)` 
+| 22.5 ± 2.1 
+| 19.6 
+| 28.6 
+| 1.00 
+
+| `Scala (native)` 
+| 42.1 ± 2.7 
+| 35.7 
+| 51.2 
+| 1.87 ± 0.21 
+
+| `Scala (GraalVM)` 
+| 32.7 ± 2.1 
+| 28.2 
+| 37.4 
+| 1.45 ± 0.17 
+|===
+
+=== std.base64 (byte array)
+
+> Note: No results for Rust (alternative), slow benchmark, but only quick requested
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+{
+    foo: [
+        std.base64([76,111,114,101,109,32,105,112,115,117,109,32,100,111,108,111,114,32,115,105,116,32,97,109,101,116,44,32,99,111,110,115,101,99,116,101,116,117,114,32,97,100,105,112,105,115,99,105,110,103,32,101,108,105,116,44,32,115,101,100,32,100,111,32,101,105,117,115,109,111,100,32,116,101,109,112,111,114,32,105,110,99,105,100,105,100,117,110,116,32,117,116,32,108,97,98,111,114,101,32,101,116,32,100,111,108,111,114,101,32,109,97,103,110,97,32,97,108,105,113,117,97,46,32,83,101,100,32,116,117,114,112,105,115,32,116,105,110,99,105,100,117,110,116,32,105,100,32,97,108,105,113,117,101,116,32,114,105,115,117,115,46,32,69,103,101,116,32,109,97,117,114,105,115,32,112,104,97,114,101,116,114,97,32,101,116,32,117,108,116,114,105,99,101,115,32,110,101,113,117,101,32,111,114,110,97,114,101,32,97,101,110,101,97,110,32,101,117,105,115,109,111,100,46,32,68,105,97,109,32,113,117,105,115,32,101,110,105,109,32,108,111,98,111,114,116,105,115,32,115,99,101,108,101,114,105,115,113,117,101,32,102,101,114,109,101,110,116,117,109,46,32,86,97,114,105,117,115,32,100,117,105,115,32,97,116,32,99,111,110,115,101,99,116,101,116,117,114,32,108,111,114,101,109,32,100,111,110,101,99,32,109,97,115,115,97,32,115,97,112,105,101,110,46,32,68,105,97,109,32,115,105,116,32,97,109,101,116,32,110,105,115,108,32,115,117,115,99,105,112,105,116,32,97,100,105,112,105,115,99,105,110,103,32,98,105,98,101,110,100,117,109,32,101,115,116,32,117,108,116,114,105,99,105,101,115,32,105,110,116,101,103,101,114,46,32,76,101,99,116,117,115,32,117,114,110,97,32,100,117,105,115,32,99,111,110,118,97,108,108,105,115,32,99,111,110,118,97,108,108,105,115,32,116,101,108,108,117,115,46,32,78,105,98,104,32,105,112,115,117,109,32,99,111,110,115,101,113,117,97,116,32,110,105,115,108,32,118,101,108,32,112,114,101,116,105,117,109,32,108,101,99,116,117,115,32,113,117,97,109,32,105,100,32,108,101,111,46,32,70,101,117,103,105,97,116,32,105,110,32,97,110,116,101,32,109,101,116,117,115,32,100,105,99,116,117,109,32,97,116,32,116,101,109,112,111,114,32,99,111,109,109,111,100,111,46,32,86,101,108,105,116,32,100,105,103,110,105,115,115,105,109,32,115,111,100,97,108,101,115,32,117,116,32,101,117,32,115,101,109,32,105,110,116,101,103,101,114,46,32,68,105,99,116,117,109,32,115,105,116,32,97,109,101,116,32,106,117,115,116,111,32,100,111,110,101,99,46,32,83,99,101,108,101,114,105,115,113,117,101,32,109,97,117,114,105,115,32,112,101,108,108,101,110,116,101,115,113,117,101,32,112,117,108,118,105,110,97,114,32,112,101,108,108,101,110,116,101,115,113,117,101,32,104,97,98,105,116,97,110,116,32,109,111,114,98,105,32,116,114,105,115,116,105,113,117,101,32,115,101,110,101,99,116,117,115,46,32,76,111,114,101,109,32,105,112,115,117,109,32,100,111,108,111,114,32,115,105,116,32,97,109,101,116,44,32,99,111,110,115,101,99,116,101,116,117,114,32,97,100,105,112,105,115,99,105,110,103,32,101,108,105,116,44,32,115,101,100,32,100,111,32,101,105,117,115,109,111,100,32,116,101,109,112,111,114,32,105,110,99,105,100,105,100,117,110,116,32,117,116,32,108,97,98,111,114,101,32,101,116,32,100,111,108,111,114,101,32,109,97,103,110,97,32,97,108,105,113,117,97,46,32,83,101,100,32,116,117,114,112,105,115,32,116,105,110,99,105,100,117,110,116,32,105,100,32,97,108,105,113,117,101,116,32,114,105,115,117,115,46,32,69,103,101,116,32,109,97,117,114,105,115,32,112,104,97,114,101,116,114,97,32,101,116,32,117,108,116,114,105,99,101,115,32,110,101,113,117,101,32,111,114,110,97,114,101,32,97,101,110,101,97,110,32,101,117,105,115,109,111,100,46,32,68,105,97,109,32,113,117,105,115,32,101,110,105,109,32,108,111,98,111,114,116,105,115,32,115,99,101,108,101,114,105,115,113,117,101,32,102,101,114,109,101,110,116,117,109,46,32,86,97,114,105,117,115,32,100,117,105,115,32,97,116,32,99,111,110,115,101,99,116,101,116,117,114,32,108,111,114,101,109,32,100,111,110,101,99,32,109,97,115,115,97,32,115,97,112,105,101,110,46,32,68,105,97,109,32,115,105,116,32,97,109,101,116,32,110,105,115,108,32,115,117,115,99,105,112,105,116,32,97,100,105,112,105,115,99,105,110,103,32,98,105,98,101,110,100,117,109,32,101,115,116,32,117,108,116,114,105,99,105,101,115,32,105,110,116,101,103,101,114,46,32,76,101,99,116,117,115,32,117,114,110,97,32,100,117,105,115,32,99,111,110,118,97,108,108,105,115,32,99,111,110,118,97,108,108,105,115,32,116,101,108,108,117,115,46,32,78,105,98,104,32,105,112,115,117,109,32,99,111,110,115,101,113,117,97,116,32,110,105,115,108,32,118,101,108,32,112,114,101,116,105,117,109,32,108,101,99,116,117,115,32,113,117,97,109,32,105,100,32,108,101,111,46,32,70,101,117,103,105,97,116,32,105,110,32,97,110,116,101,32,109,101,116,117,115,32,100,105,99,116,117,109,32,97,116,32,116,101,109,112,111,114,32,99,111,109,109,111,100,111,46,32,86,101,108,105,116,32,100,105,103,110,105,115,115,105,109,32,115,111,100,97,108,101,115,32,117,116,32,101,117,32,115,101,109,32,105,110,116,101,103,101,114,46,32,68,105,99,116,117,109,32,115,105,116,32,97,109,101,116,32,106,117,115,116,111,32,100,111,110,101,99,46,32,83,99,101,108,101,114,105,115,113,117,101,32,109,97,117,114,105,115,32,112,101,108,108,101,110,116,101,115,113,117,101,32,112,117,108,118,105,110,97,114,32,112,101,108,108,101,110,116,101,115,113,117,101,32,104,97,98,105,116,97,110,116,32,109,111,114,98,105,32,116,114,105,115,116,105,113,117,101,32,115,101,110,101,99,116,117,115,46,32,76,111,114,101,109,32,105,112,115,117,109,32,100,111,108,111,114,32,115,105,116,32,97,109,101,116,44,32,99,111,110,115,101,99,116,101,116,117,114,32,97,100,105,112,105,115,99,105,110,103,32,101,108,105,116,44,32,115,101,100,32,100,111,32,101,105,117,115,109,111,100,32,116,101,109,112,111,114,32,105,110,99,105,100,105,100,117,110,116,32,117,116,32,108,97,98,111,114,101,32,101,116,32,100,111,108,111,114,101,32,109,97,103,110,97,32,97,108,105,113,117,97,46,32,83,101,100,32,116,117,114,112,105,115,32,116,105,110,99,105,100,117,110,116,32,105,100,32,97,108,105,113,117,101,116,32,114,105,115,117,115,46,32,69,103,101,116,32,109,97,117,114,105,115,32,112,104,97,114,101,116,114,97,32,101,116,32,117,108,116,114,105,99,101,115,32,110,101,113,117,101,32,111,114,110,97,114,101,32,97,101,110,101,97,110,32,101,117,105,115,109,111,100,46,32,68,105,97,109,32,113,117,105,115,32,101,110,105,109,32,108,111,98,111,114,116,105,115,32,115,99,101,108,101,114,105,115,113,117,101,32,102,101,114,109,101,110,116,117,109,46,32,86,97,114,105,117,115,32,100,117,105,115,32,97,116,32,99,111,110,115,101,99,116,101,116,117,114,32,108,111,114,101,109,32,100,111,110,101,99,32,109,97,115,115,97,32,115,97,112,105,101,110,46,32,68,105,97,109,32,115,105,116,32,97,109,101,116,32,110,105,115,108,32,115,117,115,99,105,112,105,116,32,97,100,105,112,105,115,99,105,110,103,32,98,105,98,101,110,100,117,109,32,101,115,116,32,117,108,116,114,105,99,105,101,115,32,105,110,116,101,103,101,114,46,32,76,101,99,116,117,115,32,117,114,110,97,32,100,117,105,115,32,99,111,110,118,97,108,108,105,115,32,99,111,110,118,97,108,108,105,115,32,116,101,108,108,117,115,46,32,78,105,98,104,32,105,112,115,117,109,32,99,111,110,115,101,113,117,97,116,32,110,105,115,108,32,118,101,108,32,112,114,101,116,105,117,109,32,108,101,99,116,117,115,32,113,117,97,109,32,105,100,32,108,101,111,46,32,70,101,117,103,105,97,116,32,105,110,32,97,110,116,101,32,109,101,116,117,115,32,100,105,99,116,117,109,32,97,116,32,116,101,109,112,111,114,32,99,111,109,109,111,100,111,46,32,86,101,108,105,116,32,100,105,103,110,105,115,115,105,109,32,115,111,100,97,108,101,115,32,117,116,32,101,117,32,115,101,109,32,105,110,116,101,103,101,114,46,32,68,105,99,116,117,109,32,115,105,116,32,97,109,101,116,32,106,117,115,116,111,32,100,111,110,101,99,46,32,83,99,101,108,101,114,105,115,113,117,101,32,109,97,117,114,105,115,32,112,101,108,108,101,110,116,101,115,113,117,101,32,112,117,108,118,105,110,97,114,32,112,101,108,108,101,110,116,101,115,113,117,101,32,104,97,98,105,116,97,110,116,32,109,111,114,98,105,32,116,114,105,115,116,105,113,117,101,32,115,101,110,101,99,116,117,115,46,76,111,114,101,109,32,105,112,115,117,109,32,100,111,108,111,114,32,115,105,116,32,97,109,101,116,44,32,99,111,110,115,101,99,116,101,116,117,114,32,97,100,105,112,105,115,99,105,110,103,32,101,108,105,116,44,32,115,101,100,32,100,111,32,101,105,117,115,109,111,100,32,116,101,109,112,111,114,32,105,110,99,105,100,105,100,117,110,116,32,117,116,32,108,97,98,111,114,101,32,101,116,32,100,111,108,111,114,101,32,109,97,103,110,97,32,97,108,105,113,117,97,46,32,83,101,100,32,116,117,114,112,105,115,32,116,105,110,99,105,100,117,110,116,32,105,100,32,97,108,105,113,117,101,116,32,114,105,115,117,115,46,32,69,103,101,116,32,109,97,117,114,105,115,32,112,104,97,114,101,116,114,97,32,101,116,32,117,108,116,114,105,99,101,115,32,110,101,113,117,101,32,111,114,110,97,114,101,32,97,101,110,101,97,110,32,101,117,105,115,109,111,100,46,32,68,105,97,109,32,113,117,105,115,32,101,110,105,109,32,108,111,98,111,114,116,105,115,32,115,99,101,108,101,114,105,115,113,117,101,32,102,101,114,109,101,110,116,117,109,46,32,86,97,114,105,117,115,32,100,117,105,115,32,97,116,32,99,111,110,115,101,99,116,101,116,117,114,32,108,111,114,101,109,32,100,111,110,101,99,32,109,97,115,115,97,32,115,97,112,105,101,110,46,32,68,105,97,109,32,115,105,116,32,97,109,101,116,32,110,105,115,108,32,115,117,115,99,105,112,105,116,32,97,100,105,112,105,115,99,105,110,103,32,98,105,98,101,110,100,117,109,32,101,115,116,32,117,108,116,114,105,99,105,101,115,32,105,110,116,101,103,101,114,46,32,76,101,99,116,117,115,32,117,114,110,97,32,100,117,105,115,32,99,111,110,118,97,108,108,105,115,32,99,111,110,118,97,108,108,105,115,32,116,101,108,108,117,115,46,32,78,105,98,104,32,105,112,115,117,109,32,99,111,110,115,101,113,117,97,116,32,110,105,115,108,32,118,101,108,32,112,114,101,116,105,117,109,32,108,101,99,116,117,115,32,113,117,97,109,32,105,100,32,108,101,111,46,32,70,101,117,103,105,97,116,32,105,110,32,97,110,116,101,32,109,101,116,117,115,32,100,105,99,116,117,109,32,97,116,32,116,101,109,112,111,114,32,99,111,109,109,111,100,111,46,32,86,101,108,105,116,32,100,105,103,110,105,115,115,105,109,32,115,111,100,97,108,101,115,32,117,116,32,101,117,32,115,101,109,32,105,110,116,101,103,101,114,46,32,68,105,99,116,117,109,32,115,105,116,32,97,109,101,116,32,106,117,115,116,111,32,100,111,110,101,99,46,32,83,99,101,108,101,114,105,115,113,117,101,32,109,97,117,114,105,115,32,112,101,108,108,101,110,116,101,115,113,117,101,32,112,117,108,118,105,110,97,114,32,112,101,108,108,101,110,116,101,115,113,117,101,32,104,97,98,105,116,97,110,116,32,109,111,114,98,105,32,116,114,105,115,116,105,113,117,101,32,115,101,110,101,99,116,117,115,46,32,76,111,114,101,109,32,105,112,115,117,109,32,100,111,108,111,114,32,115,105,116,32,97,109,101,116,44,32,99,111,110,115,101,99,116,101,116,117,114,32,97,100,105,112,105,115,99,105,110,103,32,101,108,105,116,44,32,115,101,100,32,100,111,32,101,105,117,115,109,111,100,32,116,101,109,112,111,114,32,105,110,99,105,100,105,100,117,110,116,32,117,116,32,108,97,98,111,114,101,32,101,116,32,100,111,108,111,114,101,32,109,97,103,110,97,32,97,108,105,113,117,97,46,32,83,101,100,32,116,117,114,112,105,115,32,116,105,110,99,105,100,117,110,116,32,105,100,32,97,108,105,113,117,101,116,32,114,105,115,117,115,46,32,69,103,101,116,32,109,97,117,114,105,115,32,112,104,97,114,101,116,114,97,32,101,116,32,117,108,116,114,105,99,101,115,32,110,101,113,117,101,32,111,114,110,97,114,101,32,97,101,110,101,97,110,32,101,117,105,115,109,111,100,46,32,68,105,97,109,32,113,117,105,115,32,101,110,105,109,32,108,111,98,111,114,116,105,115,32,115,99,101,108,101,114,105,115,113,117,101,32,102,101,114,109,101,110,116,117,109,46,32,86,97,114,105,117,115,32,100,117,105,115,32,97,116,32,99,111,110,115,101,99,116,101,116,117,114,32,108,111,114,101,109,32,100,111,110,101,99,32,109,97,115,115,97,32,115,97,112,105,101,110,46,32,68,105,97,109,32,115,105,116,32,97,109,101,116,32,110,105,115,108,32,115,117,115,99,105,112,105,116,32,97,100,105,112,105,115,99,105,110,103,32,98,105,98,101,110,100,117,109,32,101,115,116,32,117,108,116,114,105,99,105,101,115,32,105,110,116,101,103,101,114,46,32,76,101,99,116,117,115,32,117,114,110,97,32,100,117,105,115,32,99,111,110,118,97,108,108,105,115,32,99,111,110,118,97,108,108,105,115,32,116,101,108,108,117,115,46,32,78,105,98,104,32,105,112,115,117,109,32,99,111,110,115,101,113,117,97,116,32,110,105,115,108,32,118,101,108,32,112,114,101,116,105,117,109,32,108,101,99,116,117,115,32,113,117,97,109,32,105,100,32,108,101,111,46,32,70,101,117,103,105,97,116,32,105,110,32,97,110,116,101,32,109,101,116,117,115,32,100,105,99,116,117,109,32,97,116,32,116,101,109,112,111,114,32,99,111,109,109,111,100,111,46,32,86,101,108,105,116,32,100,105,103,110,105,115,115,105,109,32,115,111,100,97,108,101,115,32,117,116,32,101,117,32,115,101,109,32,105,110,116,101,103,101,114,46,32,68,105,99,116,117,109,32,115,105,116,32,97,109,101,116,32,106,117,115,116,111,32,100,111,110,101,99,46,32,83,99,101,108,101,114,105,115,113,117,101,32,109,97,117,114,105,115,32,112,101,108,108,101,110,116,101,115,113,117,101,32,112,117,108,118,105,110,97,114,32,112,101,108,108,101,110,116,101,115,113,117,101,32,104,97,98,105,116,97,110,116,32,109,111,114,98,105,32,116,114,105,115,116,105,113,117,101,32,115,101,110,101,99,116,117,115,46,32,83,99,101,108,101,114,105,115,113,117,101,32,109,97,117,114,105,115,32,112,101,108,108,101,110,116,101,115,113,117,101,32,112,117,108,118,105,110,97,114,32,112,101,108,108,101,110,116,101,115,113,117,101,32,104,97,98,105,116,97,110,116,32,109,111,114,98,105,32,116,114,105,115,116,105,113,117,101,32,115,101,110,101,99,116,117,115,46,32,83,99,101,108,101,114,105,115,113,117,101,32,109,97,117,114,105,115,32,112,101,108,108,101,110,116,101,115,113,117,101,32,112,117,108,118,105,110,97,114,32,112,101,108,108,101,110,116,101,115,113,117,101,32,104,97,98,105,116,97,110,116,32,109,111,114,98,105,32,116,114,105,115,116,105,113,117,101,32,115,101,110,101,99,116,117,115,46,32,83,99,101,108,101,114,105,115,113,117,101,32,109,97,117,114,105,115,32,112,101,108,108,101,110,116,101,115,113,117,101,32,112,117,108,118,105,110,97,114,32,112,101,108,108,101,110,116,101,115,113,117,101,32,104,97,98,105,116,97,110,116,32,109,111,114,98,105,32,116,114,105,115,116,105,113,117,101,32,115,101,110,101,99,116,117,115,46,32,83,99,101,108,101,114,105,115,113,117,101,32,109,97,117,114,105,115,32,112,101,108,108,101,110,116,101,115,113,117,101,32,112,117,108,118,105,110,97,114,32,112,101,108,108,101,110,116,101,115,113,117,101,32,104,97,98,105,116,97,110,116,32,109,111,114,98,105,32,116,114,105,115,116,105,113,117,101,32,115,101,110,101,99,116,117,115,46,32,83,99,101,108,101,114,105,115,113,117,101,32,109,97,117,114,105,115,32,112,101,108,108,101,110,116,101,115,113,117,101,32,112,117,108,118,105,110,97,114,32,112,101,108,108,101,110,116,101,115,113,117,101,32,104,97,98,105,116,97,110,116,32,109,111,114,98,105,32,116,114,105,115,116,105,113,117,101,32,115,101,110,101,99,116,117,115]),for i in std.range(0,100)
+    ],
+}
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 19.1 ± 0.9 
+| 17.7 
+| 22.8 
+| 2.81 ± 0.44 
+
+| `Rust (current-experimental)` 
+| 22.9 ± 1.3 
+| 20.4 
+| 27.2 
+| 3.36 ± 0.53 
+
+| `Rust (release)` 
+| 17.4 ± 1.2 
+| 16.0 
+| 24.9 
+| 2.55 ± 0.42 
+
+| `Scala (native)` 
+| 8.6 ± 1.2 
+| 6.3 
+| 14.4 
+| 1.27 ± 0.26 
+
+| `Scala (GraalVM)` 
+| 6.8 ± 1.0 
+| 5.3 
+| 10.9 
+| 1.00 
+|===
+
+=== std.foldl
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+local input = std.makeArray(10000, function(i) 'xxxxx');
+
+std.foldl(function(acc, value) acc + value, input, '')
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 2.7 ± 0.3 
+| 2.3 
+| 5.2 
+| 1.03 ± 0.18 
+
+| `Rust (current-experimental)` 
+| 2.6 ± 0.3 
+| 2.3 
+| 4.9 
+| 1.00 
+
+| `Rust (release)` 
+| 2.8 ± 0.4 
+| 2.4 
+| 7.7 
+| 1.08 ± 0.19 
+
+| `Rust (alternative, rsjsonnet)` 
+| 30.6 ± 3.0 
+| 23.3 
+| 39.1 
+| 11.84 ± 1.84 
+
+| `Go` 
+| 1173.8 ± 18.4 
+| 1134.5 
+| 1210.5 
+| 454.70 ± 55.66 
+
+| `Scala (native)` 
+| 83.5 ± 5.0 
+| 76.5 
+| 96.3 
+| 32.36 ± 4.38 
+
+| `Scala (GraalVM)` 
+| 65.4 ± 4.0 
+| 55.9 
+| 74.7 
+| 25.35 ± 3.44 
+
+| `C++` 
+| 187.7 ± 6.3 
+| 178.7 
+| 201.8 
+| 72.71 ± 9.16 
+|===
+
+=== std.manifestJsonEx
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+{
+  bar: {
+    prometheusOperator+: {
+      service+: {
+        spec+: {
+          ports: [
+            {
+              name: 'https',
+              port: 8443,
+              targetPort: 'https',
+            },
+          ],
+        },
+      },
+      serviceMonitor+: {
+        spec+: {
+          endpoints: [
+            {
+              port: 'https',
+              scheme: 'https',
+              honorLabels: true,
+              bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
+              tlsConfig: {
+                insecureSkipVerify: true,
+              },
+            },
+          ]
+        },
+      },
+      clusterRole+: {
+        rules+: [
+          {
+            apiGroups: ['authentication.k8s.io'],
+            resources: ['tokenreviews'],
+            verbs: ['create'],
+          },
+          {
+            apiGroups: ['authorization.k8s.io'],
+            resources: ['subjectaccessreviews'],
+            verbs: ['create'],
+          },
+        ],
+      },
+    }
+  },
+  foo: std.manifestJsonEx(self.bar, "  ")
+}
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [µs] 
+| Min [µs] 
+| Max [µs] 
+| Relative 
+
+| `Rust (current)` 
+| 843.6 ± 223.0 
+| 656.6 
+| 4127.4 
+| 1.04 ± 0.39 
+
+| `Rust (current-experimental)` 
+| 813.0 ± 213.3 
+| 642.3 
+| 3413.8 
+| 1.00 
+
+| `Rust (release)` 
+| 845.1 ± 218.6 
+| 663.7 
+| 3241.0 
+| 1.04 ± 0.38 
+
+| `Rust (alternative, rsjsonnet)` 
+| 1282.1 ± 289.2 
+| 1019.9 
+| 3714.4 
+| 1.58 ± 0.55 
+
+| `Go` 
+| 1601.1 ± 422.3 
+| 1237.9 
+| 5025.6 
+| 1.97 ± 0.73 
+
+| `Scala (native)` 
+| 2750.4 ± 503.1 
+| 2134.1 
+| 5361.6 
+| 3.38 ± 1.08 
+
+| `Scala (GraalVM)` 
+| 1897.5 ± 451.5 
+| 1485.7 
+| 5449.9 
+| 2.33 ± 0.83 
+|===
+
+=== std.manifestTomlEx
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+{
+  bar: {
+    prometheusOperator+: {
+      service+: {
+        spec+: {
+          ports: [
+            {
+              name: 'https',
+              port: 8443,
+              targetPort: 'https',
+            },
+          ],
+        },
+      },
+      serviceMonitor+: {
+        spec+: {
+          endpoints: [
+            {
+              port: 'https',
+              scheme: 'https',
+              honorLabels: true,
+              bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
+              tlsConfig: {
+                insecureSkipVerify: true,
+              },
+            },
+          ],
+        },
+      },
+      clusterRole+: {
+        rules+: [
+          {
+            apiGroups: ['authentication.k8s.io'],
+            resources: ['tokenreviews'],
+            verbs: ['create'],
+          },
+          {
+            apiGroups: ['authorization.k8s.io'],
+            resources: ['subjectaccessreviews'],
+            verbs: ['create'],
+          },
+        ],
+      },
+    },
+  },
+  nothing: std.manifestTomlEx(self.bar, '  '),
+}
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [µs] 
+| Min [µs] 
+| Max [µs] 
+| Relative 
+
+| `Rust (current)` 
+| 763.4 ± 191.9 
+| 633.3 
+| 3624.8 
+| 1.00 
+
+| `Rust (current-experimental)` 
+| 827.8 ± 231.9 
+| 650.9 
+| 3128.1 
+| 1.08 ± 0.41 
+
+| `Rust (release)` 
+| 852.5 ± 209.2 
+| 674.0 
+| 2880.1 
+| 1.12 ± 0.39 
+
+| `Rust (alternative, rsjsonnet)` 
+| 1296.1 ± 278.3 
+| 1008.8 
+| 3817.0 
+| 1.70 ± 0.56 
+
+| `Go` 
+| 1653.9 ± 379.9 
+| 1242.0 
+| 3968.9 
+| 2.17 ± 0.74 
+
+| `Scala (native)` 
+| 2950.5 ± 521.5 
+| 2308.7 
+| 5281.5 
+| 3.86 ± 1.19 
+
+| `Scala (GraalVM)` 
+| 1903.0 ± 402.9 
+| 1498.6 
+| 5037.9 
+| 2.49 ± 0.82 
+|===
+
+=== std.parseInt
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+{
+    foo: [
+        std.parseInt("-123949595") for i in std.range(0,100)
+    ],
+}
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [µs] 
+| Min [µs] 
+| Max [µs] 
+| Relative 
+
+| `Rust (current)` 
+| 805.9 ± 184.3 
+| 620.1 
+| 2679.7 
+| 1.03 ± 0.31 
+
+| `Rust (current-experimental)` 
+| 780.1 ± 147.8 
+| 639.4 
+| 2606.9 
+| 1.00 
+
+| `Rust (release)` 
+| 803.9 ± 133.5 
+| 671.5 
+| 2839.0 
+| 1.03 ± 0.26 
+
+| `Rust (alternative, rsjsonnet)` 
+| 1211.2 ± 169.4 
+| 1028.5 
+| 3194.9 
+| 1.55 ± 0.37 
+
+| `Go` 
+| 1521.1 ± 292.6 
+| 1215.8 
+| 3432.6 
+| 1.95 ± 0.53 
+
+| `Scala (native)` 
+| 2431.3 ± 379.6 
+| 2060.0 
+| 5090.0 
+| 3.12 ± 0.77 
+
+| `Scala (GraalVM)` 
+| 1569.7 ± 263.7 
+| 1332.6 
+| 4578.6 
+| 2.01 ± 0.51 
+|===
+
+=== std.reverse
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+> Note: No results for C++, slow benchmark, but only quick requested
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+{
+    foo: [
+        std.reverse(std.range(0, 5000)) for i in std.range(0,100)
+    ],
+}
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 29.1 ± 2.0 
+| 26.3 
+| 37.5 
+| 1.04 ± 0.10 
+
+| `Rust (current-experimental)` 
+| 31.0 ± 2.4 
+| 27.3 
+| 41.0 
+| 1.11 ± 0.12 
+
+| `Rust (release)` 
+| 27.9 ± 2.0 
+| 24.7 
+| 34.1 
+| 1.00 
+
+| `Rust (alternative, rsjsonnet)` 
+| 61.1 ± 2.8 
+| 55.2 
+| 67.2 
+| 2.19 ± 0.19 
+
+| `Scala (native)` 
+| 54.8 ± 2.5 
+| 49.2 
+| 63.4 
+| 1.96 ± 0.17 
+
+| `Scala (GraalVM)` 
+| 38.7 ± 1.9 
+| 35.4 
+| 43.7 
+| 1.39 ± 0.12 
+|===
+
+=== std.substr
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+{
+    foo: [
+        std.substr("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed turpis tincidunt id aliquet risus. Eget mauris pharetra et ultrices neque ornare aenean euismod. Diam quis enim lobortis scelerisque fermentum. Varius duis at consectetur lorem donec massa sapien. Diam sit amet nisl suscipit adipiscing bibendum est ultricies integer. Lectus urna duis convallis convallis tellus. Nibh ipsum consequat nisl vel pretium lectus quam id leo. Feugiat in ante metus dictum at tempor commodo. Velit dignissim sodales ut eu sem integer. Dictum sit amet justo donec. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed turpis tincidunt id aliquet risus. Eget mauris pharetra et ultrices neque ornare aenean euismod. Diam quis enim lobortis scelerisque fermentum. Varius duis at consectetur lorem donec massa sapien. Diam sit amet nisl suscipit adipiscing bibendum est ultricies integer. Lectus urna duis convallis convallis tellus. Nibh ipsum consequat nisl vel pretium lectus quam id leo. Feugiat in ante metus dictum at tempor commodo. Velit dignissim sodales ut eu sem integer. Dictum sit amet justo donec. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed turpis tincidunt id aliquet risus. Eget mauris pharetra et ultrices neque ornare aenean euismod. Diam quis enim lobortis scelerisque fermentum. Varius duis at consectetur lorem donec massa sapien. Diam sit amet nisl suscipit adipiscing bibendum est ultricies integer. Lectus urna duis convallis convallis tellus. Nibh ipsum consequat nisl vel pretium lectus quam id leo. Feugiat in ante metus dictum at tempor commodo. Velit dignissim sodales ut eu sem integer. Dictum sit amet justo donec. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed turpis tincidunt id aliquet risus. Eget mauris pharetra et ultrices neque ornare aenean euismod. Diam quis enim lobortis scelerisque fermentum. Varius duis at consectetur lorem donec massa sapien. Diam sit amet nisl suscipit adipiscing bibendum est ultricies integer. Lectus urna duis convallis convallis tellus. Nibh ipsum consequat nisl vel pretium lectus quam id leo. Feugiat in ante metus dictum at tempor commodo. Velit dignissim sodales ut eu sem integer. Dictum sit amet justo donec. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed turpis tincidunt id aliquet risus. Eget mauris pharetra et ultrices neque ornare aenean euismod. Diam quis enim lobortis scelerisque fermentum. Varius duis at consectetur lorem donec massa sapien. Diam sit amet nisl suscipit adipiscing bibendum est ultricies integer. Lectus urna duis convallis convallis tellus. Nibh ipsum consequat nisl vel pretium lectus quam id leo. Feugiat in ante metus dictum at tempor commodo. Velit dignissim sodales ut eu sem integer. Dictum sit amet justo donec. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. ", i, 800-i) for i in std.range(0,100)
+    ],
+}
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [µs] 
+| Min [µs] 
+| Max [µs] 
+| Relative 
+
+| `Rust (current)` 
+| 962.2 ± 229.2 
+| 828.4 
+| 3431.0 
+| 1.00 ± 0.35 
+
+| `Rust (current-experimental)` 
+| 958.4 ± 243.6 
+| 801.4 
+| 3611.0 
+| 1.00 
+
+| `Rust (release)` 
+| 962.6 ± 168.6 
+| 848.0 
+| 4656.2 
+| 1.00 ± 0.31 
+
+| `Rust (alternative, rsjsonnet)` 
+| 1510.8 ± 192.9 
+| 1341.7 
+| 3548.9 
+| 1.58 ± 0.45 
+
+| `Go` 
+| 3403.4 ± 404.7 
+| 2843.4 
+| 6024.9 
+| 3.55 ± 1.00 
+
+| `Scala (native)` 
+| 3267.8 ± 454.9 
+| 2645.9 
+| 5306.1 
+| 3.41 ± 0.99 
+
+| `Scala (GraalVM)` 
+| 2195.9 ± 307.6 
+| 1846.1 
+| 4205.0 
+| 2.29 ± 0.66 
+
+| `C++` 
+| 18430.8 ± 1082.9 
+| 16240.2 
+| 21665.0 
+| 19.23 ± 5.02 
+|===
+
+=== Comparsion for array
+
+> Note: No results for C++, too slow, takes hours, skews results
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+local long_array = std.range(1, 1000000);
+long_array + [1] < long_array + [2]
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 13.2 ± 0.6 
+| 12.4 
+| 16.6 
+| 1.01 ± 0.06 
+
+| `Rust (current-experimental)` 
+| 13.1 ± 0.5 
+| 12.4 
+| 15.3 
+| 1.00 
+
+| `Rust (release)` 
+| 17.9 ± 0.6 
+| 16.8 
+| 19.5 
+| 1.37 ± 0.07 
+
+| `Rust (alternative, rsjsonnet)` 
+| 73.3 ± 6.3 
+| 56.7 
+| 88.2 
+| 5.61 ± 0.54 
+
+| `Go` 
+| 85.8 ± 7.7 
+| 56.2 
+| 94.2 
+| 6.56 ± 0.65 
+
+| `Scala (native)` 
+| 41.8 ± 3.9 
+| 32.2 
+| 51.5 
+| 3.20 ± 0.33 
+
+| `Scala (GraalVM)` 
+| 68.7 ± 1.6 
+| 65.8 
+| 73.2 
+| 5.26 ± 0.25 
+|===
+
+=== Comparsion for primitives
+
+> Note: No results for Rust (alternative), slow benchmark, but only quick requested
+
+> Note: No results for Go, slow benchmark, but only quick requested
+
+> Note: No results for C++, can't run: uses up to 192GB of RAM
+
+.Source
+[%collapsible]
+====
+[source,jsonnet]
+----
+([ i < j for i in std.range(1, 1000) for j in std.range(1, 1000)])
+
+----
+====
+
+[cols="<,>,>,>,>"]
+|===
+| Command 
+| Mean [ms] 
+| Min [ms] 
+| Max [ms] 
+| Relative 
+
+| `Rust (current)` 
+| 90.3 ± 2.1 
+| 86.8 
+| 95.3 
+| 1.00 
+
+| `Rust (current-experimental)` 
+| 97.9 ± 2.8 
+| 93.6 
+| 107.6 
+| 1.08 ± 0.04 
+
+| `Rust (release)` 
+| 245.2 ± 6.2 
+| 230.5 
+| 256.4 
+| 2.72 ± 0.09 
+
+| `Scala (native)` 
+| 224.5 ± 27.6 
+| 182.7 
+| 264.0 
+| 2.49 ± 0.31 
+
+| `Scala (GraalVM)` 
+| 222.4 ± 4.1 
+| 215.6 
+| 231.6 
+| 2.46 ± 0.07 
+|===