Bashkit v0.17.1 vs v0.9.0

vm-linux-x86_64 · 4 CPUs · 2026-09-02 18:40 UTC · in-process runner · 96 cases × 3 alternating rounds × 30 iterations (warmup 5), both versions on the same machine

Geometric mean speedup, v0.17.1 over v0.9.0
1.02×
median 0.98×
Total time, all cases
47.3 ms
was 40.9 ms (0.87×)
Cases faster / slower
2 / 7
87 within noise
Errors
0 / 0
v0.17.1 / v0.9.0

Change by category

Geometric mean of per-case ratio (v0.9.0 mean ÷ v0.17.1 mean), log scale. Right of the line is faster now. Hover for totals.

v0.17.1 fasterv0.17.1 slower
1× (no change)1.25× faster1.25× slowerstartup0.94×variables1.05×arithmetic0.86×control1.29×strings1.01×arrays0.98×pipes1.04×tools1.17×complex0.85×large0.83×subshell0.96×io0.92×

Largest improvements

  • tool_jq_map tools · 1.46× (1.011 → 0.694 ms)
  • tool_sed_backrefs tools · 1.44× (0.311 → 0.215 ms)

Largest regressions

  • large_string_append_100 large · 0.77× (0.286 → 0.372 ms)
  • io_read_lines io · 0.79× (0.088 → 0.111 ms)
  • large_multiline_script large · 0.82× (0.368 → 0.451 ms)
  • large_function_calls_500 large · 0.83× (5.483 → 6.590 ms)
  • large_pipeline_chain large · 0.84× (0.902 → 1.071 ms)

All cases

Ratio > 1 means v0.17.1 is faster. Times are the median of three alternating rounds of 30 iterations each (±: pooled stddev over all 90 samples). Rows in gray are within noise: under 10% change, or the per-round means of the two versions overlap.

Casev0.9.0 (ms)v0.17.1 (ms)RatioChangeslower ◂ ▸ faster
startup
startup_empty0.043 ±0.0210.048 ±0.0160.89×-12%
startup_true0.038 ±0.0170.043 ±0.0110.88×-13%
startup_echo0.041 ±0.0160.048 ±0.0200.85×-17%
startup_exit0.052 ±0.0220.045 ±0.0141.15×+15%
variables
var_assign_simple0.064 ±0.0170.055 ±0.0131.16×+16%
var_assign_many0.087 ±0.0200.079 ±0.0181.10×+10%
var_default0.068 ±0.0240.053 ±0.0131.30×+30%
var_length0.067 ±0.0200.056 ±0.0171.20×+20%
var_substring0.062 ±0.0170.054 ±0.0221.16×+16%
var_replace0.044 ±0.0200.060 ±0.0220.74×-35%
var_nested0.049 ±0.0170.056 ±0.0210.88×-13%
var_export0.050 ±0.0250.052 ±0.0100.96×-4%
arithmetic
arith_basic0.046 ±0.0290.046 ±0.0160.99×-1%
arith_complex0.045 ±0.0180.053 ±0.0120.85×-18%
arith_variables0.051 ±0.0240.053 ±0.0170.96×-4%
arith_increment0.045 ±0.0210.053 ±0.0120.85×-18%
arith_modulo0.040 ±0.0180.051 ±0.0170.80×-25%
arith_loop_sum0.087 ±0.0390.115 ±0.0270.76×-32%
control
ctrl_if_simple0.047 ±0.0220.057 ±0.0150.82×-22%
ctrl_if_else0.071 ±0.0190.052 ±0.0151.38×+38%
ctrl_for_list0.100 ±0.0300.072 ±0.0171.39×+39%
ctrl_for_range0.109 ±0.0310.078 ±0.0281.40×+40%
ctrl_while0.149 ±0.0420.118 ±0.0241.26×+26%
ctrl_case0.079 ±0.0310.057 ±0.0161.39×+39%
ctrl_function0.079 ±0.0240.055 ±0.0151.43×+43%
ctrl_function_return0.098 ±0.0270.071 ±0.0131.38×+38%
ctrl_nested_loops0.126 ±0.0300.096 ±0.0201.32×+32%
strings
str_concat0.071 ±0.0210.055 ±0.0201.29×+29%
str_printf0.055 ±0.0200.050 ±0.0141.09×+9%
str_printf_pad0.055 ±0.0170.051 ±0.0141.09×+9%
str_echo_escape0.045 ±0.0210.043 ±0.0141.05×+5%
str_prefix_strip0.044 ±0.0170.049 ±0.0100.90×-11%
str_suffix_strip0.047 ±0.0170.052 ±0.0170.90×-11%
str_uppercase0.045 ±0.0200.051 ±0.0140.88×-13%
str_lowercase0.043 ±0.0190.048 ±0.0120.90×-11%
arrays
arr_create0.047 ±0.0230.051 ±0.0130.91×-10%
arr_all0.052 ±0.0210.049 ±0.0091.07×+7%
arr_length0.046 ±0.0150.051 ±0.0140.90×-12%
arr_iterate0.063 ±0.0220.062 ±0.0151.00×+0%
arr_slice0.058 ±0.0190.051 ±0.0111.13×+13%
arr_assign_index0.045 ±0.0180.049 ±0.0110.92×-9%
pipes
pipe_simple0.077 ±0.0220.064 ±0.0141.21×+21%
pipe_multi0.087 ±0.0340.096 ±0.0370.91×-10%
pipe_command_subst0.049 ±0.0180.056 ±0.0110.88×-14%
pipe_heredoc0.060 ±0.0210.059 ±0.0131.01×+1%
pipe_herestring0.073 ±0.0210.059 ±0.0141.25×+25%
pipe_discard0.055 ±0.0130.054 ±0.0091.01×+1%
tools
tool_grep_simple0.076 ±0.0200.058 ±0.0141.30×+30%
tool_grep_case0.279 ±0.0650.180 ±0.0291.55×+55%
tool_grep_count0.074 ±0.0200.057 ±0.0121.29×+29%
tool_grep_invert0.074 ±0.0250.060 ±0.0161.22×+22%
tool_grep_regex0.109 ±0.0340.087 ±0.0171.26×+26%
tool_sed_replace0.220 ±0.0510.160 ±0.0401.37×+37%
tool_sed_global0.214 ±0.0460.148 ±0.0401.44×+44%
tool_sed_delete0.076 ±0.0200.057 ±0.0151.32×+32%
tool_sed_lines0.074 ±0.0290.053 ±0.0131.39×+39%
tool_sed_backrefs0.311 ±0.0830.215 ±0.0381.44×+44%
tool_awk_print0.049 ±0.0160.057 ±0.0120.86×-16%
tool_awk_sum0.064 ±0.0190.064 ±0.0201.00×+0%
tool_awk_pattern0.092 ±0.0270.091 ±0.0231.01×+1%
tool_awk_fieldsep0.060 ±0.0150.056 ±0.0111.07×+7%
tool_awk_nf0.062 ±0.0190.061 ±0.0211.00×+0%
tool_awk_compute0.066 ±0.0220.058 ±0.0141.13×+13%
tool_jq_identity0.672 ±0.1800.703 ±0.0850.95×-5%
tool_jq_field0.714 ±0.1730.760 ±0.1070.94×-7%
tool_jq_array0.726 ±0.1700.690 ±0.0721.05×+5%
tool_jq_filter0.675 ±0.1900.740 ±0.0820.91×-10%
tool_jq_map1.011 ±0.1600.694 ±0.1071.46×+46%
complex
complex_fibonacci4.926 ±1.4495.805 ±1.0930.85×-18%
complex_fibonacci_iter0.115 ±0.0470.124 ±0.0410.92×-8%
complex_nested_subst0.054 ±0.0250.065 ±0.0250.84×-19%
complex_loop_compute0.106 ±0.0430.173 ±0.0440.61×-63%
complex_string_build0.053 ±0.0190.064 ±0.0170.82×-21%
complex_json_transform0.699 ±0.1830.718 ±0.1480.97×-3%
complex_pipeline_text0.181 ±0.0590.180 ±0.0291.01×+1%
large
large_loop_10003.906 ±1.3784.490 ±0.3540.87×-15%
large_string_append_1000.286 ±0.0590.372 ±0.0580.77×-30%
large_array_fill_2001.439 ±0.1591.617 ±0.0980.89×-12%
large_nested_loops1.779 ±0.2362.047 ±0.1570.87×-15%
large_fibonacci_1211.1 ±10.514.8 ±0.8460.75×-33%
large_function_calls_5005.483 ±0.5176.590 ±0.5070.83×-20%
large_multiline_script0.368 ±0.0460.451 ±0.2400.82×-22%
large_pipeline_chain0.902 ±0.1041.071 ±0.1710.84×-19%
large_assoc_array0.055 ±0.0130.063 ±0.0260.87×-15%
subshell
subshell_simple0.041 ±0.0080.046 ±0.0110.88×-14%
subshell_isolation0.053 ±0.0130.057 ±0.0100.93×-7%
subshell_nested0.059 ±0.0100.067 ±0.0130.89×-13%
subshell_pipeline0.048 ±0.0100.053 ±0.0160.90×-11%
subshell_capture_loop0.118 ±0.0320.113 ±0.0221.05×+5%
subshell_process_subst0.083 ±0.7400.072 ±0.0121.14×+14%
io
io_redirect_write0.088 ±0.0200.076 ±0.0211.16×+16%
io_append0.088 ±0.0190.112 ±0.1540.79×-27%
io_dev_null0.044 ±0.0140.048 ±0.0100.93×-7%
io_stderr_redirect0.040 ±0.0120.044 ±0.0080.90×-11%
io_read_lines0.088 ±0.0220.111 ±0.0260.79×-26%
io_multiline_heredoc0.064 ±0.0120.065 ±0.0130.99×-1%

Versions

v0.9.0
commit 87a5516 on main, 2026-06-02 (three months ago)
v0.17.1
commit 9bebbe7 on main, 2026-09-01 (current HEAD, 441 commits later)
Machine
vm · linux / x86_64 · 4 CPUs
Runs
v0.9.0: 2026-09-02 18:40 UTC · v0.17.1: 2026-09-02 18:40 UTC