Skip to content

Commit

Permalink
doc: rerun benchmarks (#157)
Browse files Browse the repository at this point in the history
* ci: update sjsonnet for benchmark

* doc: scratch benchmarks results

* feat: another Rust jsonnet implementation appears!

Ref: google/jsonnet#1156

* chore: use jdk21-headless for sjsonnet

* chore: fix go-jsonnet benchmarking

* chore: increase default max-stack for rsjsonnet

* chore: update sjsonnet to v0.4.10

* chore: update skipped benchmarks list

* chore: rerun benchmarks
  • Loading branch information
CertainLach authored Apr 27, 2024
1 parent 0e1ae58 commit 8d2d633
Show file tree
Hide file tree
Showing 8 changed files with 547 additions and 267 deletions.
1 change: 1 addition & 0 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ There already are multiple implementations of this standard implemented in diffe
* https://github.com/google/jsonnet[C++];
* https://github.com/google/go-jsonnet/[Go];
* https://github.com/databricks/sjsonnet[Scala].
* [NEW] https://github.com/eduardosm/rsjsonnet[Another Rust impl appears].

This implementation shows performance better than all existing implementations.
For more information see link:./docs/benchmarks.md[benchmarks]
Expand Down
349 changes: 209 additions & 140 deletions docs/benchmarks.md

Large diffs are not rendered by default.

25 changes: 13 additions & 12 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
jsonnet = pkgs.callPackage ./nix/jsonnet.nix {};
# I didn't managed to build it, and nixpkgs version is marked as broken
# haskell-jsonnet = pkgs.callPackage ./nix/haskell-jsonnet.nix { };
rsjsonnet = pkgs.callPackage ./nix/rsjsonnet.nix {};

jrsonnet = pkgs.callPackage ./nix/jrsonnet.nix {
inherit craneLib;
Expand All @@ -60,55 +61,55 @@
};

benchmarks = pkgs.callPackage ./nix/benchmarks.nix {
inherit go-jsonnet sjsonnet jsonnet;
inherit go-jsonnet sjsonnet jsonnet rsjsonnet;
jrsonnetVariants = [
{
drv = jrsonnet.overrideAttrs {forBenchmarks = true;};
drv = jrsonnet.override {forBenchmarks = true;};
name = "";
}
];
};
benchmarks-quick = pkgs.callPackage ./nix/benchmarks.nix {
inherit go-jsonnet sjsonnet jsonnet;
inherit go-jsonnet sjsonnet jsonnet rsjsonnet;
quick = true;
jrsonnetVariants = [
{
drv = jrsonnet.overrideAttrs {forBenchmarks = true;};
drv = jrsonnet.override {forBenchmarks = true;};
name = "";
}
];
};
benchmarks-against-release = pkgs.callPackage ./nix/benchmarks.nix {
inherit go-jsonnet sjsonnet jsonnet;
inherit go-jsonnet sjsonnet jsonnet rsjsonnet;
jrsonnetVariants = [
{
drv = jrsonnet.overrideAttrs {forBenchmarks = true;};
drv = jrsonnet.override {forBenchmarks = true;};
name = "current";
}
{
drv = jrsonnet-nightly.overrideAttrs {forBenchmarks = true;};
drv = jrsonnet-nightly.override {forBenchmarks = true;};
name = "current-nightly";
}
{
drv = jrsonnet-release.overrideAttrs {forBenchmarks = true;};
drv = jrsonnet-release.override {forBenchmarks = true;};
name = "release";
}
];
};
benchmarks-quick-against-release = pkgs.callPackage ./nix/benchmarks.nix {
inherit go-jsonnet sjsonnet jsonnet;
inherit go-jsonnet sjsonnet jsonnet rsjsonnet;
quick = true;
jrsonnetVariants = [
{
drv = jrsonnet;
drv = jrsonnet.override {forBenchmarks = true;};
name = "current";
}
{
drv = jrsonnet-nightly;
drv = jrsonnet-nightly.override {forBenchmarks = true;};
name = "current-nightly";
}
{
drv = jrsonnet-release;
drv = jrsonnet-release.override {forBenchmarks = true;};
name = "release";
}
];
Expand Down
Loading

0 comments on commit 8d2d633

Please sign in to comment.