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 11 6 345 13 30.32 1.16
configure.cpython no-host 8,627 10,660 20,846 8,958 2.42 1.04
configure.ocaml no-host 2,814 3,105 3,556 2,650 1.26 0.94
configure.tcc no-host 28 32 127 30 4.47 1.04
configure.util-linux no-host 8,840 9,051 22,720 8,179 2.57 0.93
configure.yash no-host 1,145 1,457 1,571 1,064 1.37 0.93
hello-world no-host 1 1 31 2 33.22 1.83

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.68 1.95
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 20 20 20 20 1.00 1.00
configure.util-linux no-host 30 30 30 30 1.00 1.00
configure.yash no-host 25 25 25 25 1.00 1.00
hello-world no-host 3 2 17 6 5.89 2.09

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.1 3,666 3,666 0 673 1,821 1,172 2 0 50,000 0
abuild-print-help no-host 13 0 2 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,958 1 56 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 8,179 2 51 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,650 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 30 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,064 1 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 2.9 bash
1 no-host abuild-print-help 11 9 2 4.6 bash
2 no-host configure.cpython 8,627 6,300 2,508 27.6 bash
3 no-host configure.util-linux 8,840 6,679 2,420 30.3 bash
4 no-host configure.ocaml 2,814 1,269 564 20.7 bash
5 no-host configure.tcc 28 12 17 19.5 bash
6 no-host configure.yash 1,145 843 306 24.5 bash
7 no-host hello-world 1 0 1 1.7 dash
8 no-host abuild-print-help 6 6 0 3.7 dash
9 no-host configure.cpython 10,660 7,398 3,514 27.5 dash
10 no-host configure.util-linux 9,051 6,715 2,584 30.4 dash
11 no-host configure.ocaml 3,105 1,474 637 20.7 dash
12 no-host configure.tcc 32 20 12 19.6 dash
13 no-host configure.yash 1,457 1,004 453 24.6 dash
14 no-host hello-world 31 27 4 17.2 osh-cpython
15 no-host abuild-print-help 345 318 29 21.7 osh-cpython
16 no-host configure.cpython 20,846 14,838 7,384 27.6 osh-cpython
17 no-host configure.util-linux 22,720 16,944 6,495 30.3 osh-cpython
18 no-host configure.ocaml 3,556 1,874 780 20.8 osh-cpython
19 no-host configure.tcc 127 89 40 19.5 osh-cpython
20 no-host configure.yash 1,571 1,175 420 24.6 osh-cpython
21 no-host hello-world 2 2 0 6.1 osh-native
22 no-host abuild-print-help 13 8 5 9.0 osh-native
23 no-host configure.cpython 8,958 6,448 2,625 27.6 osh-native
24 no-host configure.util-linux 8,179 6,056 2,219 30.3 osh-native
25 no-host configure.ocaml 2,650 1,110 556 20.7 osh-native
26 no-host configure.tcc 30 20 10 19.5 osh-native
27 no-host configure.yash 1,064 786 280 24.6 osh-native

Shell and Host Details

shell label shell id
bash bash-70eb2fac
dash dash-308ec8e6
osh-cpython osh-9b335603
osh-native osh-11901ea7
host label host id
no-host no-host-bcfc81f0

raw files