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 45.8 36.6 7.0 6.8
flanders 200 44 dash 94.7 79.2 13.6 6.3
flanders 200 44 osh_eval.opt.stripped 203.2 173.9 29.0 61.0
flanders 200 44 bash 331.0 315.0 14.0 6.2
lisa 200 44 python 12.4 12.3 0.0 6.9
lisa 200 44 dash 26.0 23.0 2.9 6.2
lisa 200 44 osh_eval.opt.stripped 57.6 32.6 24.8 61.0
lisa 200 44 bash 85.2 82.9 0.0 6.2

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 10 configure python 53.9 50.4 3.8 7.0
flanders 10 configure osh_eval.opt.stripped 192.7 154.9 40.2 39.1
flanders 10 configure bash 381.0 375.8 11.9 6.3
lisa 10 configure python 14.6 11.0 4.1 7.0
lisa 10 configure osh_eval.opt.stripped 63.0 35.8 27.8 39.0
lisa 10 configure bash 97.9 87.4 10.2 6.3

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
flanders ls osh_eval.opt.stripped 60.0 35.4 24.5 8.1
flanders ls bash 56.4 55.9 0.0 6.2
flanders ls-short bash 22.1 6.5 13.0 6.1
flanders ls-short osh_eval.opt.stripped 20.6 17.3 3.0 6.3
flanders mypy osh_eval.opt.stripped 72.7 47.0 25.3 9.6
flanders mypy bash 70.0 59.7 8.0 6.1
lisa ls osh_eval.opt.stripped 16.5 13.5 2.8 8.3
lisa ls bash 16.1 15.8 0.0 6.3
lisa ls-short osh_eval.opt.stripped 5.1 3.4 1.6 6.2
lisa ls-short bash 7.6 5.5 0.0 6.2
lisa mypy osh_eval.opt.stripped 23.2 15.6 7.5 9.7
lisa mypy bash 19.9 19.5 0.0 6.2

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 48.5 37.4 11.2 6.8
flanders bytes 200 osh_eval.opt.stripped 271.0 218.4 51.8 71.8
flanders bytes 200 bash 989.7 985.6 4.0 6.2
flanders int 200 python 100.1 90.8 9.0 6.8
flanders int 200 osh_eval.opt.stripped 239.9 213.6 26.2 54.9
flanders int 200 bash 917.8 909.0 6.9 6.1
lisa bytes 200 python 14.5 9.1 5.3 7.0
lisa bytes 200 osh_eval.opt.stripped 96.4 75.2 19.8 73.4
lisa bytes 200 bash 271.7 271.5 0.0 6.2
lisa int 200 python 33.8 30.7 3.1 7.0
lisa int 200 osh_eval.opt.stripped 92.0 80.2 11.7 58.3
lisa int 200 bash 265.9 263.8 0.0 6.2

Interpreter and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
oil-native osh_eval.opt.stripped-716d5f7a
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 48.5 37.4 11.2 6.8
flanders bubble_sort bytes 200 osh_eval.opt.stripped 271.0 218.4 51.8 71.8
flanders bubble_sort bytes 200 bash 989.7 985.6 4.0 6.2
flanders bubble_sort int 200 python 100.1 90.8 9.0 6.8
flanders bubble_sort int 200 osh_eval.opt.stripped 239.9 213.6 26.2 54.9
flanders bubble_sort int 200 bash 917.8 909.0 6.9 6.1
flanders fib 200 44 python 45.8 36.6 7.0 6.8
flanders fib 200 44 dash 94.7 79.2 13.6 6.3
flanders fib 200 44 osh_eval.opt.stripped 203.2 173.9 29.0 61.0
flanders fib 200 44 bash 331.0 315.0 14.0 6.2
flanders palindrome bytes _ python 43.8 29.5 14.2 7.0
flanders palindrome bytes _ osh_eval.opt.stripped 452.1 352.0 100.0 151.3
flanders palindrome bytes _ bash 517.5 489.9 27.6 6.2
flanders palindrome unicode _ python 60.8 50.6 8.2 7.0
flanders palindrome unicode _ osh_eval.opt.stripped 450.8 331.0 119.6 151.3
flanders palindrome unicode _ bash 635.6 618.7 14.9 6.1
flanders parse_help ls _ osh_eval.opt.stripped 60.0 35.4 24.5 8.1
flanders parse_help ls _ bash 56.4 55.9 0.0 6.2
flanders parse_help ls-short _ bash 22.1 6.5 13.0 6.1
flanders parse_help ls-short _ osh_eval.opt.stripped 20.6 17.3 3.0 6.3
flanders parse_help mypy _ osh_eval.opt.stripped 72.7 47.0 25.3 9.6
flanders parse_help mypy _ bash 70.0 59.7 8.0 6.1
flanders word_freq 10 configure python 53.9 50.4 3.8 7.0
flanders word_freq 10 configure osh_eval.opt.stripped 192.7 154.9 40.2 39.1
flanders word_freq 10 configure bash 381.0 375.8 11.9 6.3
lisa bubble_sort bytes 200 python 14.5 9.1 5.3 7.0
lisa bubble_sort bytes 200 osh_eval.opt.stripped 96.4 75.2 19.8 73.4
lisa bubble_sort bytes 200 bash 271.7 271.5 0.0 6.2
lisa bubble_sort int 200 python 33.8 30.7 3.1 7.0
lisa bubble_sort int 200 osh_eval.opt.stripped 92.0 80.2 11.7 58.3
lisa bubble_sort int 200 bash 265.9 263.8 0.0 6.2
lisa fib 200 44 python 12.4 12.3 0.0 6.9
lisa fib 200 44 dash 26.0 23.0 2.9 6.2
lisa fib 200 44 osh_eval.opt.stripped 57.6 32.6 24.8 61.0
lisa fib 200 44 bash 85.2 82.9 0.0 6.2
lisa palindrome bytes _ python 14.5 10.9 3.4 7.0
lisa palindrome bytes _ osh_eval.opt.stripped 168.3 116.9 46.8 151.2
lisa palindrome bytes _ bash 168.0 163.9 4.0 6.2
lisa palindrome unicode _ python 18.3 13.1 5.0 7.1
lisa palindrome unicode _ osh_eval.opt.stripped 162.8 126.2 36.5 151.4
lisa palindrome unicode _ bash 188.8 174.9 11.9 6.3
lisa parse_help ls _ osh_eval.opt.stripped 16.5 13.5 2.8 8.3
lisa parse_help ls _ bash 16.1 15.8 0.0 6.3
lisa parse_help ls-short _ osh_eval.opt.stripped 5.1 3.4 1.6 6.2
lisa parse_help ls-short _ bash 7.6 5.5 0.0 6.2
lisa parse_help mypy _ osh_eval.opt.stripped 23.2 15.6 7.5 9.7
lisa parse_help mypy _ bash 19.9 19.5 0.0 6.2
lisa word_freq 10 configure python 14.6 11.0 4.1 7.0
lisa word_freq 10 configure osh_eval.opt.stripped 63.0 35.8 27.8 39.0
lisa word_freq 10 configure bash 97.9 87.4 10.2 6.3