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 5 506 15 47.51 1.37
configure.cpython no-host 8,197 8,582 20,052 9,212 2.45 1.12
configure.ocaml no-host 2,635 2,611 3,313 2,549 1.26 0.97
configure.tcc no-host 28 26 134 28 4.81 0.99
configure.util-linux no-host 7,461 8,371 23,590 8,232 3.16 1.10
configure.yash no-host 1,059 1,141 1,592 1,035 1.50 0.98
hello-world no-host 1 0 29 2 41.34 2.58

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.82 1.99
configure.cpython no-host 28 27 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.95 2.13

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 15 1 2 2.9 9.0 117,505 67,565 42,990 4,848 55,552 57,105 477 3 85,980 1
configure.cpython no-host 9,212 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.util-linux no-host 8,232 2 53 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,549 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 28 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,035 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 11 10 1 4.5 bash
2 no-host configure.cpython 8,197 6,241 2,127 27.6 bash
3 no-host configure.util-linux 7,461 5,929 1,739 30.3 bash
4 no-host configure.ocaml 2,635 1,209 441 20.7 bash
5 no-host configure.tcc 28 22 6 19.5 bash
6 no-host configure.yash 1,059 791 270 24.5 bash
7 no-host hello-world 0 0 0 1.5 dash
8 no-host abuild-print-help 5 5 0 3.6 dash
9 no-host configure.cpython 8,582 6,439 2,327 27.5 dash
10 no-host configure.util-linux 8,371 6,467 2,117 30.3 dash
11 no-host configure.ocaml 2,611 1,166 450 20.7 dash
12 no-host configure.tcc 26 18 8 19.4 dash
13 no-host configure.yash 1,141 796 345 24.6 dash
14 no-host hello-world 29 20 8 17.2 osh-cpython
15 no-host abuild-print-help 506 480 28 21.8 osh-cpython
16 no-host configure.cpython 20,052 15,220 5,953 27.6 osh-cpython
17 no-host configure.util-linux 23,590 17,930 6,337 30.3 osh-cpython
18 no-host configure.ocaml 3,313 1,720 715 20.8 osh-cpython
19 no-host configure.tcc 134 113 23 19.5 osh-cpython
20 no-host configure.yash 1,592 1,133 484 24.5 osh-cpython
21 no-host hello-world 2 2 0 6.2 osh-native
22 no-host abuild-print-help 15 14 1 9.0 osh-native
23 no-host configure.cpython 9,212 6,800 2,576 27.5 osh-native
24 no-host configure.util-linux 8,232 6,053 2,262 30.3 osh-native
25 no-host configure.ocaml 2,549 1,159 403 20.7 osh-native
26 no-host configure.tcc 28 19 9 19.5 osh-native
27 no-host configure.yash 1,035 717 320 24.6 osh-native

Shell and Host Details

shell label shell id
bash bash-388880c5
dash dash-308ec8e6
osh-cpython osh-c7d0a1b7
osh-native osh-3f1ae7df
host label host id
no-host no-host-bcfc81f0

raw files