OSH Compute Performance

Running time and memory usage of programs that test data structures (as opposed to I/O).

Memory usage is measured in MB (powers of 10), not MiB (powers of 2).

Source code: oil/benchmarks/compute

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 200 44 python 36.0 18.2 17.7 6.8
flanders 200 44 dash 70.1 60.2 9.8 6.1
flanders 200 44 osh_eval.opt.stripped 163.2 115.5 47.6 61.0
flanders 200 44 bash 262.5 257.5 5.0 6.1
lisa 200 44 python 11.3 3.9 7.1 7.0
lisa 200 44 dash 26.0 25.9 0.0 6.4
lisa 200 44 osh_eval.opt.stripped 65.1 46.6 18.1 61.0
lisa 200 44 bash 75.1 75.0 0.0 6.4

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 10 configure python 41.1 26.8 15.8 7.0
flanders 10 configure osh_eval.opt.stripped 142.5 110.4 34.0 39.1
flanders 10 configure bash 297.2 287.1 16.1 6.3
lisa 10 configure python 15.1 9.2 6.6 7.1
lisa 10 configure osh_eval.opt.stripped 60.5 42.1 18.7 39.1
lisa 10 configure bash 92.8 86.4 8.0 6.4

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
flanders ls bash 47.6 30.7 16.6 6.3
flanders ls osh_eval.opt.stripped 47.8 42.5 5.1 8.2
flanders ls-short bash 17.1 5.5 11.5 6.3
flanders ls-short osh_eval.opt.stripped 17.3 13.1 3.9 6.3
flanders mypy osh_eval.opt.stripped 61.3 40.4 20.7 9.7
flanders mypy bash 58.0 49.1 8.7 6.1
lisa ls osh_eval.opt.stripped 18.1 10.4 7.6 8.2
lisa ls bash 18.4 14.1 4.0 6.2
lisa ls-short bash 5.0 4.5 0.4 6.3
lisa ls-short osh_eval.opt.stripped 5.8 5.7 0.0 6.3
lisa mypy bash 18.6 15.6 2.8 6.2
lisa mypy osh_eval.opt.stripped 29.1 20.5 8.4 9.8

bubble_sort (array of integers, arrays of strings)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bytes 200 python 47.8 42.2 5.4 6.8
flanders bytes 200 osh_eval.opt.stripped 274.9 210.8 64.0 72.5
flanders bytes 200 bash 991.5 979.9 11.6 6.1
flanders int 200 python 99.5 99.3 0.0 6.8
flanders int 200 osh_eval.opt.stripped 261.1 223.3 37.7 57.9
flanders int 200 bash 853.0 845.8 7.0 6.1
lisa bytes 200 python 16.0 11.9 4.0 7.0
lisa bytes 200 osh_eval.opt.stripped 111.6 80.7 30.8 74.9
lisa bytes 200 bash 276.5 272.8 2.9 6.2
lisa int 200 python 38.7 34.2 4.3 7.0
lisa int 200 osh_eval.opt.stripped 99.3 85.3 13.9 59.3
lisa int 200 bash 281.4 280.7 0.6 6.3

Interpreter and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
oil-native osh_eval.opt.stripped-f3882163
python python-e4b9f5ce
host label host id
flanders flanders-6c96a848
lisa lisa-cc016cb1

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bubble_sort bytes 200 python 47.8 42.2 5.4 6.8
flanders bubble_sort bytes 200 osh_eval.opt.stripped 274.9 210.8 64.0 72.5
flanders bubble_sort bytes 200 bash 991.5 979.9 11.6 6.1
flanders bubble_sort int 200 python 99.5 99.3 0.0 6.8
flanders bubble_sort int 200 osh_eval.opt.stripped 261.1 223.3 37.7 57.9
flanders bubble_sort int 200 bash 853.0 845.8 7.0 6.1
flanders fib 200 44 python 36.0 18.2 17.7 6.8
flanders fib 200 44 dash 70.1 60.2 9.8 6.1
flanders fib 200 44 osh_eval.opt.stripped 163.2 115.5 47.6 61.0
flanders fib 200 44 bash 262.5 257.5 5.0 6.1
flanders palindrome bytes _ python 57.2 49.2 7.7 7.0
flanders palindrome bytes _ osh_eval.opt.stripped 687.7 536.2 151.2 151.2
flanders palindrome bytes _ bash 587.9 561.3 26.4 6.3
flanders palindrome unicode _ python 74.2 64.6 9.4 7.0
flanders palindrome unicode _ osh_eval.opt.stripped 509.1 401.5 107.4 151.3
flanders palindrome unicode _ bash 637.9 594.6 40.9 6.3
flanders parse_help ls _ bash 47.6 30.7 16.6 6.3
flanders parse_help ls _ osh_eval.opt.stripped 47.8 42.5 5.1 8.2
flanders parse_help ls-short _ bash 17.1 5.5 11.5 6.3
flanders parse_help ls-short _ osh_eval.opt.stripped 17.3 13.1 3.9 6.3
flanders parse_help mypy _ osh_eval.opt.stripped 61.3 40.4 20.7 9.7
flanders parse_help mypy _ bash 58.0 49.1 8.7 6.1
flanders word_freq 10 configure python 41.1 26.8 15.8 7.0
flanders word_freq 10 configure osh_eval.opt.stripped 142.5 110.4 34.0 39.1
flanders word_freq 10 configure bash 297.2 287.1 16.1 6.3
lisa bubble_sort bytes 200 python 16.0 11.9 4.0 7.0
lisa bubble_sort bytes 200 osh_eval.opt.stripped 111.6 80.7 30.8 74.9
lisa bubble_sort bytes 200 bash 276.5 272.8 2.9 6.2
lisa bubble_sort int 200 python 38.7 34.2 4.3 7.0
lisa bubble_sort int 200 osh_eval.opt.stripped 99.3 85.3 13.9 59.3
lisa bubble_sort int 200 bash 281.4 280.7 0.6 6.3
lisa fib 200 44 python 11.3 3.9 7.1 7.0
lisa fib 200 44 dash 26.0 25.9 0.0 6.4
lisa fib 200 44 osh_eval.opt.stripped 65.1 46.6 18.1 61.0
lisa fib 200 44 bash 75.1 75.0 0.0 6.4
lisa palindrome bytes _ python 15.6 13.9 1.5 7.0
lisa palindrome bytes _ osh_eval.opt.stripped 154.9 122.6 31.7 151.3
lisa palindrome bytes _ bash 177.1 176.9 0.0 6.4
lisa palindrome unicode _ python 16.6 12.3 4.2 7.1
lisa palindrome unicode _ osh_eval.opt.stripped 155.7 119.6 35.9 151.2
lisa palindrome unicode _ bash 173.2 162.4 10.6 6.3
lisa parse_help ls _ osh_eval.opt.stripped 18.1 10.4 7.6 8.2
lisa parse_help ls _ bash 18.4 14.1 4.0 6.2
lisa parse_help ls-short _ bash 5.0 4.5 0.4 6.3
lisa parse_help ls-short _ osh_eval.opt.stripped 5.8 5.7 0.0 6.3
lisa parse_help mypy _ bash 18.6 15.6 2.8 6.2
lisa parse_help mypy _ osh_eval.opt.stripped 29.1 20.5 8.4 9.8
lisa word_freq 10 configure python 15.1 9.2 6.6 7.1
lisa word_freq 10 configure osh_eval.opt.stripped 60.5 42.1 18.7 39.1
lisa word_freq 10 configure bash 92.8 86.4 8.0 6.4