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 54 26 1,413 26.4
abuild-help lisa 22 8 595 27.7
cpython-configure flanders 30,458 30,477 183,487 6.0
cpython-configure lisa 13,034 11,482 100,442 7.7
hello-world flanders 3 3 62 20.1
hello-world lisa 2 1 32 19.8
ocaml-4.06.0 flanders 6,316 6,215 11,224 1.8
ocaml-4.06.0 lisa 3,435 3,308 5,099 1.5
tcc-0.9.26 flanders 91 82 487 5.3
tcc-0.9.26 lisa 38 34 205 5.4
yash-2.46 flanders 3,282 3,266 6,174 1.9
yash-2.46 lisa 1,431 1,381 2,715 1.9

Memory Usage (Max Resident Set Size in MB)

task arg host label bash dash osh osh to bash ratio
abuild-help flanders 6.5 6.6 18.6 2.8
abuild-help lisa 6.5 6.7 18.4 2.8
cpython-configure flanders 24.3 24.5 42.6 1.8
cpython-configure lisa 24.2 24.1 42.6 1.8
hello-world flanders 6.6 6.6 11.8 1.8
hello-world lisa 6.5 6.5 11.7 1.8
ocaml-4.06.0 flanders 19.8 19.8 19.8 1.0
ocaml-4.06.0 lisa 19.8 19.7 19.8 1.0
tcc-0.9.26 flanders 19.3 19.5 19.3 1.0
tcc-0.9.26 lisa 19.1 19.0 19.1 1.0
yash-2.46 flanders 23.2 23.1 23.2 1.0
yash-2.46 lisa 22.9 23.0 22.9 1.0

Old Memory Usage Metric

Measuring osh-ovm.

task arg host runtime VmRSS MB runtime VmPeak MB
abuild-help flanders 18.4 31.1
abuild-help lisa 18.3 31.2
cpython-configure flanders 42.6 55.0
cpython-configure lisa 42.4 55.0
hello-world flanders 11.4 24.2
hello-world lisa 11.3 24.2
ocaml-4.06.0 flanders 15.7 28.2
ocaml-4.06.0 lisa 15.5 28.2
tcc-0.9.26 flanders 12.6 25.2
tcc-0.9.26 lisa 12.4 25.2
yash-2.46 flanders 14.6 27.3
yash-2.46 lisa 14.5 27.3

Shell and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
osh osh-c64742d0
host label host id
flanders flanders-889e300d
lisa lisa-6c96a848