OSH Runtime Performance

Source code: oil/benchmarks/osh-runtime.sh

Elapsed Time by Shell (milliseconds)

Some benchmarks call many external tools, while some exercise the shell interpreter itself. Parse time is included.

Memory usage is measured in MB (powers of 10), not MiB (powers of 2).

workload host name bash dash osh-cpython osh-native py bash ratio native bash ratio
abuild-print-help no-host 13 6 326 12 26.00 0.98
configure.cpython no-host 9,723 9,588 17,223 8,226 1.77 0.85
configure.ocaml no-host 2,756 2,663 3,219 2,593 1.17 0.94
configure.tcc no-host 28 27 126 28 4.46 0.98
configure.util-linux no-host 8,318 9,225 19,661 7,816 2.36 0.94
configure.yash no-host 1,119 1,070 1,529 1,030 1.37 0.92
hello-world no-host 1 0 29 2 33.14 2.20

Memory Usage (Max Resident Set Size in MB)

workload host name bash dash osh-cpython osh-native py bash ratio native bash ratio
abuild-print-help no-host 5 4 22 9 4.69 1.93
configure.cpython no-host 28 28 28 28 1.00 1.00
configure.ocaml no-host 21 21 21 21 1.00 1.00
configure.tcc no-host 19 20 19 20 1.00 1.00
configure.util-linux no-host 30 30 30 30 1.00 1.00
configure.yash no-host 25 25 24 25 1.00 1.00
hello-world no-host 3 2 17 6 5.72 2.05

GC Stats

workload host name elapsed ms max gc millis total gc millis allocated MB max rss MB num allocated num live max survived num in heap num in pool 1 num in pool 2 num gc points num gc done gc threshold num growths
hello-world no-host 2 0 0 0.2 6.2 3,666 3,666 0 673 1,821 1,172 2 0 50,000 0
abuild-print-help no-host 12 0 1 2.9 9.0 117,505 67,565 42,990 4,848 55,552 57,105 477 3 85,980 1
configure.cpython no-host 8,226 1 52 16.1 27.6 1,817,201 26,784 28,982 103,213 953,852 760,136 37,405 63 50,000 0
configure.util-linux no-host 7,816 2 47 22.6 30.3 2,764,617 27,105 67,639 130,391 1,375,524 1,258,702 44,791 42 135,278 1
configure.ocaml no-host 2,593 0 1 2.7 20.7 152,172 11,269 5,200 8,750 73,943 69,479 2,375 3 50,000 0
configure.tcc no-host 28 0 0 1.3 19.5 30,775 30,775 0 1,623 14,989 14,163 329 0 50,000 0
configure.yash no-host 1,030 0 1 2.6 24.6 142,131 9,792 6,577 7,667 72,905 61,559 2,608 3 50,000 0

Details of All Tasks

task id host name workload elapsed ms user ms sys ms max rss MB shell label
0 no-host hello-world 1 1 0 3.0 bash
1 no-host abuild-print-help 13 11 1 4.7 bash
2 no-host configure.cpython 9,723 7,363 2,606 27.5 bash
3 no-host configure.util-linux 8,318 6,336 2,251 30.4 bash
4 no-host configure.ocaml 2,756 1,314 462 20.7 bash
5 no-host configure.tcc 28 20 8 19.5 bash
6 no-host configure.yash 1,119 791 333 24.6 bash
7 no-host hello-world 0 0 0 1.6 dash
8 no-host abuild-print-help 6 5 1 3.7 dash
9 no-host configure.cpython 9,588 7,239 2,602 27.6 dash
10 no-host configure.util-linux 9,225 7,042 2,446 30.4 dash
11 no-host configure.ocaml 2,663 1,212 460 20.6 dash
12 no-host configure.tcc 27 24 3 19.5 dash
13 no-host configure.yash 1,070 777 293 24.5 dash
14 no-host hello-world 29 21 8 17.2 osh-cpython
15 no-host abuild-print-help 326 311 17 21.8 osh-cpython
16 no-host configure.cpython 17,223 13,283 4,909 27.6 osh-cpython
17 no-host configure.util-linux 19,661 15,957 4,288 30.4 osh-cpython
18 no-host configure.ocaml 3,219 1,624 684 20.7 osh-cpython
19 no-host configure.tcc 126 102 26 19.5 osh-cpython
20 no-host configure.yash 1,529 1,177 374 24.5 osh-cpython
21 no-host hello-world 2 2 0 6.2 osh-native
22 no-host abuild-print-help 12 12 1 9.0 osh-native
23 no-host configure.cpython 8,226 6,256 2,081 27.6 osh-native
24 no-host configure.util-linux 7,816 5,808 2,084 30.3 osh-native
25 no-host configure.ocaml 2,593 1,173 432 20.7 osh-native
26 no-host configure.tcc 28 18 10 19.5 osh-native
27 no-host configure.yash 1,030 764 267 24.6 osh-native

Shell and Host Details

shell label shell id
bash bash-c2588155
dash dash-308ec8e6
osh-cpython osh-76de8671
osh-native osh-14cd3e77
host label host id
no-host no-host-bcfc81f0

raw files