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
broome bash 118,863 346 343.0
broome dash 111,674 76 1,475.2
broome mksh 111,674 200 558.1
broome osh-cpython 118,863 10,063 11.8
broome osh-ovm 118,863 11,133 10.7
broome zsh 118,863 2,123 56.0
spring bash 118,863 345 344.5
spring dash 111,674 78 1,431.7
spring mksh 111,674 200 558.9
spring osh-cpython 118,863 10,030 11.9
spring osh-ovm 118,863 11,202 10.6
spring zsh 118,863 2,145 55.4

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
broome 11.2 24.4 1,679 t4014-format-patch.sh
broome 15.2 28.4 1,733 functions
broome 16.1 29.1 2,029 configure-helper.sh
broome 18.1 31.4 2,512 abuild
broome 16.5 29.6 2,698 Build.sh
broome 12.1 25.1 3,123 t9300-fast-import.sh
broome 33.2 46.1 5,160 test-cmd-util.sh
broome 33.6 46.7 9,661 ltmain.sh
broome 62.4 75.8 20,489 configure
broome 157.9 171.1 69,779 configure-coreutils
spring 11.3 24.4 1,679 t4014-format-patch.sh
spring 15.2 28.4 1,733 functions
spring 16.2 29.1 2,029 configure-helper.sh
spring 18.3 31.4 2,512 abuild
spring 16.5 29.6 2,698 Build.sh
spring 12.0 25.1 3,123 t9300-fast-import.sh
spring 33.1 46.1 5,160 test-cmd-util.sh
spring 33.6 46.7 9,661 ltmain.sh
spring 62.3 75.8 20,489 configure
spring 157.7 171.1 69,779 configure-coreutils

Shell and Host Details

shell label shell id
bash bash-6f84604a
dash dash-3ca0b057
mksh mksh-fc451c2d
zsh zsh-c6846721
osh-cpython osh-be4dbedb
osh-ovm osh-df536089
host label host id
broome broome-d6f91c68
spring spring-d6f91c68

Raw Data

filename
broome.2018-07-17__08-25-07.times.csv
spring.2018-07-17__08-27-44.times.csv

Parse Time Breakdown by File

Elasped Time in milliseconds

host label bash dash mksh zsh osh-ovm osh-cpython osh to bash ratio num lines filename
broome 9 3 5 104 108 98 12.5 1,679 t4014-format-patch.sh
broome 11 4 8 30 284 267 25.9 1,733 functions
broome 14 NA NA 52 286 269 20.3 2,029 configure-helper.sh
broome 16 4 12 39 348 359 21.3 2,512 abuild
broome 14 4 8 97 257 264 18.9 2,698 Build.sh
broome 12 3 6 126 124 131 10.7 3,123 t9300-fast-import.sh
broome 32 NA NA 130 819 703 25.2 5,160 test-cmd-util.sh
broome 35 10 25 148 864 813 24.8 9,661 ltmain.sh
broome 62 18 41 338 2,054 1,849 32.9 20,489 configure
broome 141 31 94 1,059 5,988 5,310 42.4 69,779 configure-coreutils
spring 9 2 5 108 108 117 12.1 1,679 t4014-format-patch.sh
spring 11 3 8 29 237 278 21.1 1,733 functions
spring 13 NA NA 51 282 270 21.2 2,029 configure-helper.sh
spring 16 4 12 41 373 352 23.6 2,512 abuild
spring 12 4 9 97 281 250 23.4 2,698 Build.sh
spring 13 3 6 121 100 132 7.7 3,123 t9300-fast-import.sh
spring 32 NA NA 129 757 708 23.6 5,160 test-cmd-util.sh
spring 36 10 26 148 854 792 23.9 9,661 ltmain.sh
spring 62 16 40 318 2,039 1,820 33.0 20,489 configure
spring 141 35 94 1,103 6,172 5,312 43.7 69,779 configure-coreutils

Parsing Rate in lines/millisecond

host label bash dash mksh zsh osh-ovm osh-cpython num lines filename
broome 195.2 621.9 335.8 16.1 15.6 17.2 1,679 t4014-format-patch.sh
broome 157.5 495.1 206.3 58.5 6.1 6.5 1,733 functions
broome 143.9 NA NA 38.8 7.1 7.5 2,029 configure-helper.sh
broome 154.1 570.9 207.6 63.8 7.2 7.0 2,512 abuild
broome 198.4 674.5 317.4 27.8 10.5 10.2 2,698 Build.sh
broome 269.2 1,007.4 529.3 24.9 25.1 23.8 3,123 t9300-fast-import.sh
broome 158.8 NA NA 39.6 6.3 7.3 5,160 test-cmd-util.sh
broome 276.8 1,016.9 383.4 65.5 11.2 11.9 9,661 ltmain.sh
broome 327.8 1,157.6 503.4 60.7 10.0 11.1 20,489 configure
broome 493.5 2,265.6 740.0 65.9 11.7 13.1 69,779 configure-coreutils
spring 188.7 671.6 342.7 15.5 15.6 14.4 1,679 t4014-format-patch.sh
spring 154.7 509.7 208.8 60.0 7.3 6.2 1,733 functions
spring 152.6 NA NA 40.1 7.2 7.5 2,029 configure-helper.sh
spring 159.0 584.2 214.7 61.6 6.7 7.1 2,512 abuild
spring 224.8 674.5 310.1 27.9 9.6 10.8 2,698 Build.sh
spring 240.2 1,041.0 520.5 25.8 31.4 23.7 3,123 t9300-fast-import.sh
spring 161.2 NA NA 40.1 6.8 7.3 5,160 test-cmd-util.sh
spring 269.9 985.8 378.9 65.3 11.3 12.2 9,661 ltmain.sh
spring 332.1 1,249.3 509.7 64.3 10.1 11.3 20,489 configure
spring 493.8 2,016.7 738.4 63.2 11.3 13.1 69,779 configure-coreutils