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).

task arg host label bash dash osh-cpython oil-native py bash ratio native bash ratio
abuild-help broome 41 17 892 55 21.9 1.4
abuild-help lenny 16 11 521 30 32.9 1.9
cpython-configure broome 25,644 25,598 61,109 68,670 2.4 2.7
cpython-configure lenny 14,733 13,785 31,750 56,888 2.2 3.9
hello-world broome 2 1 66 3 28.2 1.3
hello-world lenny 1 1 53 1 70.6 1.8
ocaml-4.06.0 broome 5,866 5,756 7,614 6,046 1.3 1.0
ocaml-4.06.0 lenny 4,197 3,983 5,076 4,364 1.2 1.0
tcc-0.9.26 broome 85 70 350 96 4.1 1.1
tcc-0.9.26 lenny 51 47 177 36 3.4 0.7
yash-2.46 broome 2,960 2,876 4,445 3,058 1.5 1.0
yash-2.46 lenny 1,666 1,463 2,212 1,684 1.3 1.0

Memory Usage (Max Resident Set Size in MB)

task arg host label bash dash osh-cpython oil-native py bash ratio native bash ratio
abuild-help broome 4.9 3.9 24.6 16.9 5.0 3.5
abuild-help lenny 4.9 4.0 24.6 16.7 5.0 3.4
cpython-configure broome 27.4 27.2 50.1 540.4 1.8 19.7
cpython-configure lenny 27.2 27.3 49.9 556.8 1.8 20.5
hello-world broome 3.4 1.8 16.7 4.2 4.8 1.2
hello-world lenny 3.4 1.7 16.8 4.2 5.0 1.2
ocaml-4.06.0 broome 21.3 21.4 21.2 30.3 1.0 1.4
ocaml-4.06.0 lenny 21.3 21.3 21.3 30.8 1.0 1.4
tcc-0.9.26 broome 20.4 20.6 20.4 20.5 1.0 1.0
tcc-0.9.26 lenny 20.5 20.4 20.5 20.4 1.0 1.0
yash-2.46 broome 24.7 24.6 24.5 38.1 1.0 1.5
yash-2.46 lenny 24.6 24.6 24.7 38.2 1.0 1.6

Shell and Host Details

shell label shell id
bash bash-9af8f89f
dash dash-9ff48631
osh-cpython osh-b6fe450e
osh-ovm osh-d5fafee5
oil-native osh_eval.stripped-b4a35663
host label host id
broome broome-8a85d07d
lenny lenny-c6bbd9ee

raw files