difftreelog
build update gcmodule
in: master
3 files changed
Cargo.lockdiffbeforeafterboth253 packageslockfile v4
Might be heavy and slow!
ahash
0.8.12crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75used byaho-corasick
1.1.4crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301depends onaliasable
0.1.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fdused byalloca
0.4.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4depends onused byallocator-api2
0.2.21crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923anes
0.1.6crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299used byannotate-snippets
0.12.15crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum92570a3f9c98e7e84df84b71d0965ac99b1871fcd75a3773a3bd1bad13f64cf7used byannotated-string
0.3.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum298ed730801db3c02f2edba003c9420a0f57ea48d37fdc5601c536113668c059used byanstream
1.0.0crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28ddepends onused byanstyle
1.0.14crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000anstyle-parse
1.0.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130edepends onused byanstyle-query
1.1.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadcdepends onused byanstyle-wincon
3.0.11crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747dused byanyhow
1.0.102crates.io↘ 0↖ 10sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842car_archive_writer
0.5.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340bdepends onused byarraydeque
0.5.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236used byautocfg
1.5.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8used bybase64
0.22.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6bitflags
2.11.1crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3block-buffer
0.12.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790bedepends onused bybstr
1.12.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cabdepends onused bybumpalo
3.20.2crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcbdepends oncast
0.3.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5cc
1.2.61crates.io↘ 2↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6ddepends oncfg-if
1.0.4crates.io↘ 0↖ 12sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801ciborium
0.2.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0eused byciborium-io
0.2.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757ciborium-ll
0.2.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9depends onused byclap
4.6.1crates.io↘ 2↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51depends onclap_builder
4.6.0crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069fused byclap_complete
4.6.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3ff7a1dccbdd8b078c2bdebff47e404615151534d5043da397ec50286816f9cbdepends onused byclap_derive
4.6.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9used byclap_lex
1.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9used bycolorchoice
1.0.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570used byconsole
0.16.3crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87used byconsole_error_panic_hook
0.1.7crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbcdepends onused byconst-oid
0.10.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55cused bycountme
3.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636used bycpufeatures
0.3.0crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201depends oncriterion
0.8.2crates.io↘ 17↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3depends onused bycriterion-plot
0.8.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29eadepends onused bycrossbeam-deque
0.8.6crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51used bycrossbeam-epoch
0.9.18crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420edepends onused bycrossbeam-utils
0.8.21crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28crypto-common
0.2.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710depends onused bydigest
0.11.2crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153cdisplaydoc
0.2.5crates.io↘ 3↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0depends ondprint-core
0.67.4crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2c1d827947704a9495f705d6aeed270fa21a67f825f22902c28f38dc3af7a9aedepends ondrop_bomb
0.1.5crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1educe
0.6.0crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417either
1.15.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719encode_unicode
1.0.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0used byencoding_rs
0.8.35crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3depends onused byencoding_rs_io
0.1.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83depends onused byenum-ordinalize
4.3.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0depends onused byenum-ordinalize-derive
4.3.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631depends onused byequivalent
1.0.2crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0ferrno
0.3.14crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efebdepends onused byextension-trait
1.0.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdd65f1b59dd22d680c7a626cc4a000c1e03d241c51c3e034d2bc9f1e90734f9bdepends onused byfastrand
2.4.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6used byfind-msvc-tools
0.1.9crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582used byfnv
1.0.7crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1used byfoldhash
0.1.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2used byfoldhash
0.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdbused byform_urlencoded
1.2.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcfdepends onused bygetrandom
0.3.4crates.io↘ 6↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fdgetrandom
0.4.2crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555depends onused byglobset
0.4.18crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3used byhalf
2.7.1crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84bdepends onused byhashbrown
0.14.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1used byhashbrown
0.15.5crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1hashbrown
0.17.0crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51heck
0.4.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8used byheck
0.5.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55eahex
0.4.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70used byhi-doc
0.3.0crates.io↘ 9↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf70fb920ba34768415fb239d7d607486083bfc38ad35e3f1d558697f9f646f11depends onhi-doc-jumprope
1.2.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum236c25809a9c0a0249b3488feb57744e12aa64e4f3db851980eab303719c7bdddepends onused byhybrid-array
0.4.11crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d46837a0ed51fe95bd3b05de33cd64a1ee88fc797477ca48446872504507c5depends onicu_collections
2.2.0crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191cicu_locale_core
2.2.0crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29icu_normalizer
2.2.0crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4depends onused byicu_normalizer_data
2.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumda3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38used byicu_properties
2.2.0crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70dedepends onicu_properties_data
2.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14used byicu_provider
2.2.0crates.io↘ 7↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421depends onid-arena
2.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954used byidna
1.1.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4deused byidna_adapter
1.2.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714depends onused byindexmap
2.14.0crates.io↘ 4↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9indoc
2.0.7crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706depends oninsta
1.47.2crates.io↘ 6↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7b4a6248eb93a4401ed2f37dfe8ea592d3cf05b7cf4f8efa867b6895af7e094eis_terminal_polyfill
1.70.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695used byitertools
0.13.0crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186depends onitertools
0.14.0crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285depends onitoa
1.0.18crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682used byjrsonnet-cli
0.5.0-pre98workspace↘ 5↖ 2jrsonnet-deps
0.5.0-pre98workspace↘ 5↖ 0jrsonnet-evaluator
0.5.0-pre98workspace↘ 24↖ 7depends on- anyhow
1.0.102 - drop_bomb
0.1.5 - educe
0.6.0 - hi-doc
0.3.0 - insta
1.47.2 - jrsonnet-gcmodule
0.4.6 - jrsonnet-interner
0.5.0-pre98 - jrsonnet-ir
0.5.0-pre98 - jrsonnet-ir-parser
0.5.0-pre98 - jrsonnet-macros
0.5.0-pre98 - jrsonnet-peg-parser
0.5.0-pre98 - jrsonnet-types
0.5.0-pre98 - num-bigint
0.4.6 - pathdiff
0.2.3 - rustc-hash
2.1.2 - rustversion
1.0.22 - serde
1.0.228 - smallvec
1.15.1 - stacker
0.1.24 - static_assertions
1.1.0 - strip-ansi-escapes
0.2.1 - strsim
0.11.1 - thiserror
2.0.18 - wasm-bindgen
0.2.106
- anyhow
jrsonnet-fmt
0.5.0-pre98workspace↘ 6↖ 0jrsonnet-formatter
0.5.0-pre98workspace↘ 6↖ 2jrsonnet-gcmodule
0.4.6crates.io↘ 1↖ 12sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbb04c12f50f954e1d8b3b5a7e99c448da97af2e1f7435a88f3c9b9f2a677015adepends onjrsonnet-gcmodule-derive
0.4.6crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum454a895e7c0b7ea3584966e8b346c6c80fdd33acb0224ad7e3fbd80cf8171601depends onused byjrsonnet-interner
0.5.0-pre98workspace↘ 3↖ 3jrsonnet-ir
0.5.0-pre98workspace↘ 7↖ 7depends onjrsonnet-ir-parser
0.5.0-pre98workspace↘ 4↖ 2jrsonnet-lexer
0.5.0-pre98workspace↘ 1↖ 3jrsonnet-macros
0.5.0-pre98workspace↘ 4↖ 2jrsonnet-peg-parser
0.5.0-pre98workspace↘ 4↖ 1jrsonnet-rowan-parser
0.5.0-pre98workspace↘ 9↖ 1jrsonnet-stdlib
0.5.0-pre98workspace↘ 16↖ 4depends onjrsonnet-types
0.5.0-pre98workspace↘ 2↖ 2js-sys
0.3.83crates.io↘ 2↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8depends onkeccak
0.2.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9e24a010dd405bd7ed803e5253182815b41bf2e6a80cc3bfc066658e03a198aadepends onused byleb128fmt
0.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2used bylibc
0.2.186crates.io↘ 0↖ 9sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66libjsonnet
0.5.0-pre98workspace↘ 5↖ 0linux-raw-sys
0.12.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53used bylitemap
0.8.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0used bylog
0.4.29crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897logos
0.16.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumeb2c55a318a87600ea870ff8c2012148b44bf18b74fad48d0f835c38c7d07c5fdepends onused bylogos-codegen
0.16.1crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum58b3ffaa284e1350d017a57d04ada118c4583cf260c8fb01e0fe28a2e9cf8970used bylogos-derive
0.16.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum52d3a9855747c17eaf4383823f135220716ab49bea5fbea7dd42cc9a92f8aa31depends onused bylru
0.17.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0e0b564323a0fb6d54b864f625ae139de9612e27edb944dda37c109f05aac531depends onused bymd5
0.8.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumae960838283323069879657ca3de837e9f7bbb4c7bf6ea7f1b290d5e9476d2e0used bymemchr
2.8.0crates.io↘ 0↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79mimalloc-sys
0.1.6crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4aa3cefb626f6ae3d0b2f71c5378c89d2b1d4d7bc246b0ca9a7ee61a4daad291depends onused bymimallocator
0.1.3crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2d44fe4ebf6b538fcf39d9975c2b90bb3232d1ba8e8bffeacd004f27b20c577adepends onnum-bigint
0.4.6crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9num-integer
0.1.46crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858fdepends onused bynum-traits
0.2.19crates.io↘ 1↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841depends onobject
0.37.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fedepends onused byonce_cell
1.21.4crates.io↘ 0↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50once_cell_polyfill
1.70.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4feused byoorandom
11.1.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41eused byouroboros
0.18.5crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59used byouroboros_macro
0.18.5crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0used bypage_size
0.6.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40dadepends onused bypathdiff
0.2.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdf94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3peg
0.8.5crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9928cfca101b36ec5163e70049ee5368a8a1c3c6efc9ca9c5f9cc2f816152477depends onpeg-macros
0.8.5crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6298ab04c202fa5b5d52ba03269fb7b74550b150323038878fe6c372d8280f71used bypeg-runtime
0.8.5crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum132dca9b868d927b35b5dd728167b2dee150eb1ad686008fc71ccb298b776fcaused bypercent-encoding
2.3.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220used byplotters
0.3.7crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747used byplotters-backend
0.3.7crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdf42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172aplotters-svg
0.3.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670depends onused bypotential_utf
0.1.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564depends onused byppv-lite86
0.2.21crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9depends onused byprettyplease
0.2.37crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62bdepends onproc-macro2
1.0.106crates.io↘ 1↖ 25sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934depends onused by- clap_derive
4.6.1 - displaydoc
0.2.5 - educe
0.6.0 - enum-ordinalize-derive
4.3.2 - extension-trait
1.0.2 - jrsonnet-gcmodule-derive
0.4.6 - jrsonnet-macros
0.5.0-pre98 - logos-codegen
0.16.1 - ouroboros_macro
0.18.5 - peg-macros
0.8.5 - prettyplease
0.2.37 - proc-macro2-diagnostics
0.10.1 - quote
1.0.45 - serde_derive
1.0.228 - syn
2.0.117 - syn-dissect-closure
0.1.0 - synstructure
0.13.2 - thiserror-impl
2.0.18 - wasm-bindgen-macro-support
0.2.106 - wit-bindgen-rust-macro
0.51.0 - xtask
0.1.0 - yoke-derive
0.8.2 - zerocopy-derive
0.8.48 - zerofrom-derive
0.1.7 - zerovec-derive
0.11.3
- clap_derive
proc-macro2-diagnostics
0.10.1crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaf066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8used bypsm
0.1.31crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum645dbe486e346d9b5de3ef16ede18c26e6c70ad97418f4874b8b1889d6e761eadepends onused byquote
1.0.45crates.io↘ 1↖ 24sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924depends onused by- clap_derive
4.6.1 - displaydoc
0.2.5 - educe
0.6.0 - enum-ordinalize-derive
4.3.2 - extension-trait
1.0.2 - jrsonnet-gcmodule-derive
0.4.6 - jrsonnet-macros
0.5.0-pre98 - logos-codegen
0.16.1 - ouroboros_macro
0.18.5 - peg-macros
0.8.5 - proc-macro2-diagnostics
0.10.1 - serde_derive
1.0.228 - syn
2.0.117 - syn-dissect-closure
0.1.0 - synstructure
0.13.2 - thiserror-impl
2.0.18 - wasm-bindgen-macro
0.2.106 - wasm-bindgen-macro-support
0.2.106 - wit-bindgen-rust-macro
0.51.0 - xtask
0.1.0 - yoke-derive
0.8.2 - zerocopy-derive
0.8.48 - zerofrom-derive
0.1.7 - zerovec-derive
0.11.3
- clap_derive
r-efi
5.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0fused byr-efi
6.0.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bfused byrand
0.9.4crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76eadepends onrand_chacha
0.9.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cbdepends onused byrand_core
0.9.5crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83cdepends onused byrandom_color
1.1.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd635c5e80ae160390ac62ca027d2d06c94c1dc69e5c0a12f1e3a53664dc84966depends onused byrange-map
0.2.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum12a5a2d6c7039059af621472a4389be1215a816df61aa4d531cfe85264aee95fdepends onused byrayon
1.12.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926ddepends onused byrayon-core
1.13.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91used byregex
1.12.3crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276regex-automata
0.4.14crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8fregex-syntax
0.8.10crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0arowan
0.16.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum417a3a9f582e349834051b8a10c8d71ca88da4211e4093528e36b9845f6b5f21rustc-hash
1.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2used byrustc-hash
2.1.2crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dberustix
1.1.4crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190used byrustversion
1.0.22crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46dsame-file
1.0.6crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502depends onused bysaphyr-parser-bw
0.0.611crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum67dec0c833db75dc98957956b303fe447ffc5eb13f2325ef4c2350f7f3aa69e3used bysemver
1.0.28crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cdserde
1.0.228crates.io↘ 2↖ 16sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9edepends onserde_core
1.0.228crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67addepends onserde_derive
1.0.228crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79depends onserde_json
1.0.149crates.io↘ 5↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86serde-saphyr
0.0.25crates.io↘ 9↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum75e214449d107a81daf1453eb46c9314457660509534883e82db6faca2034a8adepends onused bysha1
0.11.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214depends onused bysha2
0.11.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4depends onused bysha3
0.11.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbe176f1a57ce4e3d31c1a166222d9768de5954f811601fb7ca06fc8203905ce1depends onused bysimilar
2.7.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daaused bysmallvec
1.15.1crates.io↘ 0↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03stable_deref_trait
1.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596used bystacker
0.1.24crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum640c8cdd92b6b12f5bcb1803ca3bbf5ab96e5e6b6b96b9ab77dabe9e880b3190static_assertions
1.1.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543fstr_indices
0.4.4crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd08889ec5408683408db66ad89e0e1f93dff55c73a4ccc71c427d5b277ee47e6used bystrip-ansi-escapes
0.2.1crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2a8f8038e7e7969abb3f1b7c2a811225e9296da208539e0f79c5251d6cac0025depends onstrsim
0.11.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4fsyn
2.0.117crates.io↘ 3↖ 22sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99used by- clap_derive
4.6.1 - displaydoc
0.2.5 - educe
0.6.0 - enum-ordinalize-derive
4.3.2 - extension-trait
1.0.2 - jrsonnet-gcmodule-derive
0.4.6 - jrsonnet-macros
0.5.0-pre98 - logos-codegen
0.16.1 - ouroboros_macro
0.18.5 - prettyplease
0.2.37 - proc-macro2-diagnostics
0.10.1 - serde_derive
1.0.228 - syn-dissect-closure
0.1.0 - synstructure
0.13.2 - thiserror-impl
2.0.18 - wasm-bindgen-macro-support
0.2.106 - wit-bindgen-rust
0.51.0 - wit-bindgen-rust-macro
0.51.0 - yoke-derive
0.8.2 - zerocopy-derive
0.8.48 - zerofrom-derive
0.1.7 - zerovec-derive
0.11.3
- clap_derive
syn-dissect-closure
0.1.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum343bae741672e4b94421cbe93f9794ba9a061434272f7e3a29ff43be26be3ac9depends onused bysynstructure
0.13.2crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2depends ontempfile
3.27.0crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bdtext-size
1.1.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233used bythiserror
2.0.18crates.io↘ 1↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4depends onthiserror-impl
2.0.18crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5depends onused bytinystr
0.8.3crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96ddepends onused bytinytemplate
1.2.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbe4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bcdepends onused bytypenum
1.20.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43deused byungrammar
1.16.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma3e5df347f0bf3ec1d670aad6ca5c6a1859cd9ea61d2113125794654ccced68fused byunicode-box-drawing
0.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2a1f97719cf40224391201fc11e7f5b0cc0ba21416367cfc914e2d45af4e42efused byunicode-ident
1.0.24crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75unicode-width
0.2.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254unicode-xid
0.2.6crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853used byurl
2.5.8crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eedutf8_iter
1.0.4crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6beutf8parse
0.2.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821version_check
0.9.5crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105avte
0.14.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum231fdcd7ef3037e8330d8e17e61011a2c244126acc0a982f4040ac3f9f0bc077depends onused bywalkdir
2.5.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4bdepends onused bywasip2
1.0.3+wasi-0.2.9crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6depends onused bywasip3
0.4.0+wasi-0.3.0-rc-2026-01-06crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5depends onused bywasm-bindgen
0.2.106crates.io↘ 5↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fddepends onwasm-bindgen-futures
0.4.56crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7cused bywasm-bindgen-macro
0.2.106crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3used bywasm-bindgen-macro-support
0.2.106crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40used bywasm-encoder
0.244.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319depends onwasm-metadata
0.244.0crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909wasmparser
0.244.0crates.io↘ 4↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028feweb-sys
0.3.83crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137acdepends onwinapi
0.3.9crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419used bywinapi-i686-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6used bywinapi-util
0.1.11crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22depends onused bywinapi-x86_64-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183fused bywindows-link
0.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5used bywindows-sys
0.61.2crates.io↘ 1↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fcdepends onwit-bindgen
0.51.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5depends onwit-bindgen
0.57.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536eused bywit-bindgen-core
0.51.0crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dcdepends onwit-bindgen-rust
0.51.0crates.io↘ 8↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21depends onused bywit-bindgen-rust-macro
0.51.0crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17adepends onused bywit-component
0.244.0crates.io↘ 11↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2depends onused bywit-parser
0.244.0crates.io↘ 10↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736depends onwriteable
0.6.3crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4xshell
0.2.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9e7290c623014758632efe00737145b6867b66292c42167f2ec381eb566a373ddepends onused byxshell-macros
0.2.7crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum32ac00cd3f8ec9c1d33fb3e7958a82df6989c42d747bd326c822b1d625283547used byxtask
0.1.0workspace↘ 8↖ 0yansi
1.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049yoke
0.8.2crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumabe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9cayoke-derive
0.8.2crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumde844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858eused byzerocopy
0.8.48crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumeed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9depends onzerocopy-derive
0.8.48crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4depends onused byzerofrom
0.1.7crates.io↘ 1↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4dfdepends onzerofrom-derive
0.1.7crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1used byzerotrie
0.2.4crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bfdepends onzerovec
0.11.6crates.io↘ 3↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239zerovec-derive
0.11.3crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555depends onused byzmij
1.0.21crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaaused by
Cargo.tomldiffbeforeafterboth--- a/Cargo.toml
+++ b/Cargo.toml
@@ -30,7 +30,7 @@
jrsonnet-types = { path = "./crates/jrsonnet-types", version = "0.5.0-pre98" }
jrsonnet-formatter = { path = "./crates/jrsonnet-formatter", version = "0.5.0-pre98" }
jrsonnet-lexer = { path = "./crates/jrsonnet-lexer", version = "0.5.0-pre98" }
-jrsonnet-gcmodule = { version = "0.4.5" }
+jrsonnet-gcmodule = { version = "0.4.6" }
# Diagnostics.
# hi-doc is my library, which handles text formatting very well, but isn't polished enough yet
# Previous implementation was based on annotate-snippets, which I don't like for many reasons.
@@ -168,12 +168,6 @@
# Something is broken about that lint, can't be allowed for
# codegenerated-stdlib block
similar_names = "allow"
-
-#[profile.test]
-#opt-level = 1
-
-[patch.crates-io]
-jrsonnet-gcmodule = { path = "/home/lach/build/gcmodule" }
[profile.release]
opt-level = 3
result.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
+|===