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 12 6 329 14 28.17 1.24
configure.cpython no-host 9,219 9,209 20,694 9,383 2.24 1.02
configure.ocaml no-host 2,683 2,689 3,408 2,608 1.27 0.97
configure.tcc no-host 28 26 130 28 4.63 1.00
configure.yash no-host 1,093 1,067 1,599 1,058 1.46 0.97
hello-world no-host 1 0 29 2 35.40 2.14

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.71 1.98
configure.cpython no-host 28 28 28 28 1.00 1.00
configure.ocaml no-host 21 21 21 21 1.00 0.99
configure.tcc no-host 20 20 20 20 1.00 1.01
configure.yash no-host 25 24 25 25 1.00 1.00
hello-world no-host 3 2 17 6 5.82 2.11

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 14 0 2 2.9 9.1 117,505 67,565 42,990 4,848 55,552 57,105 477 3 85,980 1
configure.cpython no-host 9,383 1 59 16.1 27.5 1,817,201 26,784 28,982 103,213 953,852 760,136 37,405 63 50,000 0
configure.ocaml no-host 2,608 0 1 2.7 20.6 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.6 30,775 30,775 0 1,623 14,989 14,163 329 0 50,000 0
configure.yash no-host 1,058 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 2.9 bash
1 no-host abuild-print-help 12 8 4 4.6 bash
2 no-host configure.cpython 9,219 7,001 2,445 27.6 bash
3 no-host configure.ocaml 2,683 1,241 462 20.8 bash
4 no-host configure.tcc 28 18 10 19.5 bash
5 no-host configure.yash 1,093 792 305 24.6 bash
6 no-host hello-world 0 0 0 1.6 dash
7 no-host abuild-print-help 6 6 1 3.7 dash
8 no-host configure.cpython 9,209 6,872 2,575 27.5 dash
9 no-host configure.ocaml 2,689 1,270 427 20.7 dash
10 no-host configure.tcc 26 23 3 19.5 dash
11 no-host configure.yash 1,067 760 308 24.5 dash
12 no-host hello-world 29 15 14 17.2 osh-cpython
13 no-host abuild-print-help 329 312 20 21.6 osh-cpython
14 no-host configure.cpython 20,694 14,935 7,047 27.6 osh-cpython
15 no-host configure.ocaml 3,408 1,797 724 20.7 osh-cpython
16 no-host configure.tcc 130 115 18 19.5 osh-cpython
17 no-host configure.yash 1,599 1,204 419 24.6 osh-cpython
18 no-host hello-world 2 0 2 6.2 osh-native
19 no-host abuild-print-help 14 11 4 9.1 osh-native
20 no-host configure.cpython 9,383 6,938 2,602 27.5 osh-native
21 no-host configure.ocaml 2,608 1,214 407 20.6 osh-native
22 no-host configure.tcc 28 11 17 19.6 osh-native
23 no-host configure.yash 1,058 806 253 24.6 osh-native

Shell and Host Details

shell label shell id
bash bash-8348cc14
dash dash-308ec8e6
osh-cpython osh-09756d2c
osh-native osh-0d93095d
host label host id
no-host no-host-bcfc81f0

raw files