OSH Runtime Performance

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 osh to bash ratio
abuild-help flanders 47 20 1,405 30.2
abuild-help lisa 18 7 575 31.8
cpython-configure flanders 30,596 30,716 114,301 3.7
cpython-configure lisa 12,929 11,308 56,249 4.4
hello-world flanders 2 1 65 28.0
hello-world lisa 1 0 31 39.8
ocaml-4.06.0 flanders 6,392 6,179 9,879 1.5
ocaml-4.06.0 lisa 3,275 3,312 4,219 1.3
tcc-0.9.26 flanders 102 80 524 5.1
tcc-0.9.26 lisa 37 33 211 5.7
yash-2.46 flanders 3,425 3,240 6,267 1.8
yash-2.46 lisa 1,439 1,382 2,654 1.8

Memory Usage (Max Resident Set Size in MB)

task arg host label bash dash osh osh to bash ratio
abuild-help flanders 4.9 3.6 19.1 3.9
abuild-help lisa 5.0 3.6 19.2 3.8
cpython-configure flanders 24.4 24.3 43.3 1.8
cpython-configure lisa 24.2 24.4 43.2 1.8
hello-world flanders 3.1 1.7 12.3 3.9
hello-world lisa 3.1 1.6 12.1 3.9
ocaml-4.06.0 flanders 19.7 19.8 19.6 1.0
ocaml-4.06.0 lisa 19.7 19.8 19.7 1.0
tcc-0.9.26 flanders 19.3 19.3 19.1 1.0
tcc-0.9.26 lisa 19.2 19.1 19.2 1.0
yash-2.46 flanders 23.1 23.0 23.2 1.0
yash-2.46 lisa 23.0 23.0 23.1 1.0

Old Memory Usage Metric

Measuring osh-ovm.

task arg host runtime VmRSS MB runtime VmPeak MB
abuild-help flanders 19.0 31.8
abuild-help lisa 19.1 31.8
cpython-configure flanders 43.2 55.6
cpython-configure lisa 43.2 55.6
hello-world flanders 11.9 24.6
hello-world lisa 11.9 24.6
ocaml-4.06.0 flanders 16.3 28.9
ocaml-4.06.0 lisa 16.2 28.9
tcc-0.9.26 flanders 13.2 25.9
tcc-0.9.26 lisa 13.1 25.9
yash-2.46 flanders 15.2 28.0
yash-2.46 lisa 15.2 28.0

Shell and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
osh osh-0d3ffea9
host label host id
flanders flanders-f9790abf
lisa lisa-f9790abf