OSH Parser Performance

We run $sh -n $file for various files under various shells. This means that shell startup time is included in the elapsed time measurements, but long files are chosen to minimize its effect.

Parse Time Summary

host label shell label total lines total ms lines per ms
flanders bash 118,863 521 228.2
flanders dash 111,674 92 1,208.6
flanders mksh 111,674 281 396.9
flanders osh-cpython 118,863 30,683 3.9
flanders osh-native 118,863 1,166 101.9
flanders osh-ovm 118,863 38,311 3.1
flanders zsh 118,863 4,608 25.8
lisa bash 118,863 204 583.2
lisa dash 111,674 44 2,555.5
lisa mksh 111,674 120 930.6
lisa osh-cpython 118,863 10,131 11.7
lisa osh-native 118,863 338 351.4
lisa osh-ovm 118,863 11,131 10.7
lisa zsh 118,863 1,216 97.7

Memory Used to Parse

Running under osh-ovm. Memory usage is measured in MB (powers of 10), not MiB (powers of 2).

host VmRSS MB VmPeak MB num lines filename
flanders 10.9 23.8 1,679 t4014-format-patch.sh
flanders 14.1 27.0 1,733 functions
flanders 14.6 27.4 2,029 configure-helper.sh
flanders 16.5 29.3 2,512 abuild
flanders 15.1 28.0 2,698 Build.sh
flanders 11.5 24.2 3,123 t9300-fast-import.sh
flanders 27.5 40.3 5,160 test-cmd-util.sh
flanders 28.0 40.7 9,661 ltmain.sh
flanders 50.5 63.4 20,489 configure
flanders 122.7 135.5 69,779 configure-coreutils
lisa 10.9 23.8 1,679 t4014-format-patch.sh
lisa 14.1 27.0 1,733 functions
lisa 14.7 27.4 2,029 configure-helper.sh
lisa 16.3 29.3 2,512 abuild
lisa 15.2 28.0 2,698 Build.sh
lisa 11.2 24.2 3,123 t9300-fast-import.sh
lisa 27.5 40.3 5,160 test-cmd-util.sh
lisa 28.0 40.7 9,661 ltmain.sh
lisa 50.6 63.5 20,489 configure
lisa 122.6 135.6 69,779 configure-coreutils

Shell and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
mksh mksh-ae7d165b
zsh zsh-ca7b4198
osh-cpython osh-e4aba4b4
osh-ovm osh-a3354af6
osh-native osh_parse.opt.stripped-a2a03f2a
host label host id
flanders flanders-f94966d0
lisa lisa-b43270f9

Raw Data

filename
flanders.2019-12-07__23-21-54.times.csv
lisa.2019-12-07__23-34-43.times.csv

Parse Time Breakdown by File

Elasped Time in milliseconds

host label bash dash mksh zsh osh-ovm osh-cpython osh-native osh to bash ratio num lines filename
flanders 12 4 6 158 209 243 11 0.9 1,679 t4014-format-patch.sh
flanders 13 4 10 48 712 651 31 2.3 1,733 functions
flanders 21 NA NA 84 672 681 32 1.5 2,029 configure-helper.sh
flanders 21 6 13 69 956 968 42 2.0 2,512 abuild
flanders 15 7 15 167 698 707 35 2.3 2,698 Build.sh
flanders 19 4 7 198 216 248 14 0.8 3,123 t9300-fast-import.sh
flanders 45 NA NA 231 2,214 2,309 90 2.0 5,160 test-cmd-util.sh
flanders 52 11 31 295 2,728 2,943 104 2.0 9,661 ltmain.sh
flanders 93 19 58 792 8,975 7,279 214 2.3 20,489 configure
flanders 228 37 141 2,565 20,932 14,654 593 2.6 69,779 configure-coreutils
lisa 4 2 2 58 77 90 3 0.9 1,679 t4014-format-patch.sh
lisa 5 2 3 15 236 217 8 1.7 1,733 functions
lisa 6 NA NA 26 249 226 9 1.6 2,029 configure-helper.sh
lisa 7 2 4 22 388 376 13 1.9 2,512 abuild
lisa 6 3 3 45 276 244 9 1.4 2,698 Build.sh
lisa 5 1 2 61 81 89 4 0.8 3,123 t9300-fast-import.sh
lisa 18 NA NA 69 802 769 25 1.4 5,160 test-cmd-util.sh
lisa 24 5 11 82 970 833 30 1.3 9,661 ltmain.sh
lisa 38 9 26 198 2,125 1,898 62 1.6 20,489 configure
lisa 93 20 68 641 5,927 5,390 174 1.9 69,779 configure-coreutils

Parsing Rate in lines/millisecond

host label bash dash mksh zsh osh-ovm osh-cpython osh-native num lines filename
flanders 136.5 453.8 266.5 10.6 8.0 6.9 151.3 1,679 t4014-format-patch.sh
flanders 130.3 412.6 168.3 35.9 2.4 2.7 56.1 1,733 functions
flanders 96.2 NA NA 24.0 3.0 3.0 63.2 2,029 configure-helper.sh
flanders 120.8 392.5 191.8 36.6 2.6 2.6 59.2 2,512 abuild
flanders 176.3 408.8 183.5 16.1 3.9 3.8 77.5 2,698 Build.sh
flanders 167.0 761.7 452.6 15.8 14.5 12.6 216.9 3,123 t9300-fast-import.sh
flanders 113.9 NA NA 22.3 2.3 2.2 57.3 5,160 test-cmd-util.sh
flanders 184.7 870.4 310.6 32.7 3.5 3.3 93.3 9,661 ltmain.sh
flanders 219.4 1,072.7 355.1 25.9 2.3 2.8 95.7 20,489 configure
flanders 305.6 1,875.8 493.8 27.2 3.3 4.8 117.7 69,779 configure-coreutils
lisa 479.7 883.7 839.5 29.1 21.8 18.6 524.7 1,679 t4014-format-patch.sh
lisa 368.7 962.8 525.2 114.0 7.3 8.0 222.2 1,733 functions
lisa 368.9 NA NA 78.0 8.2 9.0 228.0 2,029 configure-helper.sh
lisa 364.1 1,395.6 570.9 115.2 6.5 6.7 190.3 2,512 abuild
lisa 421.6 999.3 793.5 60.4 9.8 11.1 293.3 2,698 Build.sh
lisa 612.4 2,402.3 1,357.8 51.4 38.4 35.2 780.8 3,123 t9300-fast-import.sh
lisa 293.2 NA NA 74.7 6.4 6.7 204.0 5,160 test-cmd-util.sh
lisa 411.1 1,971.6 862.6 118.4 10.0 11.6 319.9 9,661 ltmain.sh
lisa 540.6 2,203.1 794.1 103.6 9.6 10.8 328.3 20,489 configure
lisa 752.7 3,488.9 1,032.2 108.8 11.8 12.9 400.8 69,779 configure-coreutils