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 479 16 45.54 1.54
configure.cpython no-host 8,757 10,101 21,022 10,520 2.40 1.20
configure.ocaml no-host 3,132 3,168 3,732 2,847 1.19 0.91
configure.tcc no-host 39 34 185 33 4.72 0.85
configure.util-linux no-host 8,740 8,431 22,291 8,278 2.55 0.95
configure.yash no-host 1,384 1,472 1,886 1,334 1.36 0.96
hello-world no-host 1 0 43 3 58.81 3.45

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.84 2.01
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 19 19 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.72 2.05

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 3 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 16 1 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 10,520 1 60 16.1 27.5 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,278 2 52 22.6 30.3 2,764,726 27,105 67,639 130,425 1,375,562 1,258,739 44,794 42 135,278 1
configure.ocaml no-host 2,847 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 33 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,334 0 1 2.6 24.5 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 0 1 3.0 bash
1 no-host abuild-print-help 11 10 1 4.5 bash
2 no-host configure.cpython 8,757 6,668 2,282 27.6 bash
3 no-host configure.util-linux 8,740 6,732 2,257 30.3 bash
4 no-host configure.ocaml 3,132 1,548 601 20.7 bash
5 no-host configure.tcc 39 25 15 19.6 bash
6 no-host configure.yash 1,384 999 389 24.6 bash
7 no-host hello-world 0 0 0 1.5 dash
8 no-host abuild-print-help 6 6 0 3.6 dash
9 no-host configure.cpython 10,101 7,164 3,057 27.5 dash
10 no-host configure.util-linux 8,431 6,368 2,275 30.4 dash
11 no-host configure.ocaml 3,168 1,487 688 20.8 dash
12 no-host configure.tcc 34 23 12 19.5 dash
13 no-host configure.yash 1,472 1,001 471 24.6 dash
14 no-host hello-world 43 26 17 17.1 osh-cpython
15 no-host abuild-print-help 479 450 30 21.9 osh-cpython
16 no-host configure.cpython 21,022 15,740 6,583 27.5 osh-cpython
17 no-host configure.util-linux 22,291 17,902 5,036 30.3 osh-cpython
18 no-host configure.ocaml 3,732 2,026 819 20.7 osh-cpython
19 no-host configure.tcc 185 158 30 19.5 osh-cpython
20 no-host configure.yash 1,886 1,343 571 24.6 osh-cpython
21 no-host hello-world 3 3 0 6.2 osh-native
22 no-host abuild-print-help 16 12 5 9.1 osh-native
23 no-host configure.cpython 10,520 7,582 3,056 27.5 osh-native
24 no-host configure.util-linux 8,278 6,185 2,172 30.3 osh-native
25 no-host configure.ocaml 2,847 1,317 547 20.7 osh-native
26 no-host configure.tcc 33 13 21 19.5 osh-native
27 no-host configure.yash 1,334 920 414 24.5 osh-native

Shell and Host Details

shell label shell id
bash bash-f1168740
dash dash-308ec8e6
osh-cpython osh-59891868
osh-native osh-a74be8b7
host label host id
no-host no-host-bcfc81f0

raw files