difftreelog
ci default jrsonnet variant
in: master
2 files changed
flake.nixdiffbeforeafterboth50 benchmarks = pkgs.callPackage ./nix/benchmarks.nix {50 benchmarks = pkgs.callPackage ./nix/benchmarks.nix {51 inherit go-jsonnet sjsonnet jsonnet;51 inherit go-jsonnet sjsonnet jsonnet;52 jrsonnetVariants = [52 jrsonnetVariants = [53 { drv = jrsonnet; name = "current"; }53 { drv = jrsonnet; name = ""; }54 ];54 ];55 };55 };56 benchmarks-quick = pkgs.callPackage ./nix/benchmarks.nix {56 benchmarks-quick = pkgs.callPackage ./nix/benchmarks.nix {57 inherit go-jsonnet sjsonnet jsonnet;57 inherit go-jsonnet sjsonnet jsonnet;58 quick = true;58 quick = true;59 jrsonnetVariants = [59 jrsonnetVariants = [60 { drv = jrsonnet; name = "current"; }60 { drv = jrsonnet; name = ""; }61 ];61 ];62 };62 };63 benchmarks-against-release = pkgs.callPackage ./nix/benchmarks.nix {63 benchmarks-against-release = pkgs.callPackage ./nix/benchmarks.nix {nix/benchmarks.nixdiffbeforeafterboth757576 installPhase =76 installPhase =77 let77 let78 mkBench = { name, path, omitSource ? false, pathIsGenerator ? false, skipScala ? "", skipCpp ? "", skipGo ? "", vendor ? "" }: ''78 mkBench = { name, path, omitSource ? false, pathIsGenerator ? false, skipScala ? "", skipCpp ? "", skipGo ? "", vendor ? "" }: ''79 set -oux79 set -oux808081 echo >> $out81 echo >> $out82 echo "### ${name}" >> $out82 echo "### ${name}" >> $out83 echo >> $out83 echo >> $out84 ${optionalString (skipGo != "") ''84 ${optionalString (skipGo != "") ''85 echo "> Note: No results for Go, ${skipGo}" >> $out85 echo "> Note: No results for Go, ${skipGo}" >> $out86 echo >> $out86 echo >> $out87 ''}87 ''}88 ${optionalString (skipScala != "") ''88 ${optionalString (skipScala != "") ''89 echo "> Note: No results for Scala, ${skipScala}" >> $out89 echo "> Note: No results for Scala, ${skipScala}" >> $out90 echo >> $out90 echo >> $out91 ''}91 ''}92 ${optionalString (skipCpp != "") ''92 ${optionalString (skipCpp != "") ''93 echo "> Note: No results for C++, ${skipCpp}" >> $out93 echo "> Note: No results for C++, ${skipCpp}" >> $out94 echo >> $out94 echo >> $out95 ''}95 ''}96 ${optionalString (!quick && !omitSource) ''96 ${optionalString (!quick && !omitSource) ''97 echo "<details>" >> $out97 echo "<details>" >> $out98 echo "<summary>Source</summary>" >> $out98 echo "<summary>Source</summary>" >> $out99 echo >> $out99 echo >> $out100 echo "\`\`\`jsonnet" >> $out100 echo "\`\`\`jsonnet" >> $out101 ${optionalString pathIsGenerator "echo \"// Generator source\" >> $out"}101 ${optionalString pathIsGenerator "echo \"// Generator source\" >> $out"}102 cat ${path} >> $out102 cat ${path} >> $out103 echo >> $out103 echo >> $out104 echo "\`\`\`" >> $out104 echo "\`\`\`" >> $out105 echo "</details>" >> $out105 echo "</details>" >> $out106 echo >> $out106 echo >> $out107 ''}107 ''}108 path=${path}108 path=${path}109 ${optionalString pathIsGenerator ''109 ${optionalString pathIsGenerator ''110 go-jsonnet $path > generated.jsonnet110 go-jsonnet $path > generated.jsonnet111 path=generated.jsonnet111 path=generated.jsonnet112 ''}112 ''}113 hyperfine -N -w4 -m20 --output=pipe --style=basic --export-markdown result.md \113 hyperfine -N -w4 -m20 --output=pipe --style=basic --export-markdown result.md \114 ${concatStringsSep " " (forEach jrsonnetVariants (variant:114 ${concatStringsSep " " (forEach jrsonnetVariants (variant:115 "\"${variant.drv}/bin/jrsonnet $path ${optionalString (vendor != "") "-J${vendor}"}\" -n \"Rust (${variant.name})\""115 "\"${variant.drv}/bin/jrsonnet $path ${optionalString (vendor != "") "-J${vendor}"}\" -n \"Rust${if variant.name != "" then " (${variant.name})" else ""}\""116 ))} \116 ))} \117 ${optionalString (skipGo == "") "\"go-jsonnet $path ${optionalString (vendor != "") "-J ${vendor}"}\" -n \"Go\""} \117 ${optionalString (skipGo == "") "\"go-jsonnet $path ${optionalString (vendor != "") "-J ${vendor}"}\" -n \"Go\""} \118 ${optionalString (skipScala == "") "\"sjsonnet $path ${optionalString (vendor != "") "-J ${vendor}"}\" -n \"Scala\""} \118 ${optionalString (skipScala == "") "\"sjsonnet $path ${optionalString (vendor != "") "-J ${vendor}"}\" -n \"Scala\""} \119 ${optionalString (skipCpp == "") "\"jsonnet $path ${optionalString (vendor != "") "-J ${vendor}"}\" -n \"C++\""}119 ${optionalString (skipCpp == "") "\"jsonnet $path ${optionalString (vendor != "") "-J ${vendor}"}\" -n \"C++\""}120 cat result.md >> $out120 cat result.md >> $out121 '';121 '';122 in122 in123 ''123 ''124 touch $out124 touch $out