oilshell.org
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
hello (minimal startup)
host name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
_ |
_ |
dash |
1.0 |
0.0 |
0.9 |
1.7 |
broome |
_ |
_ |
osh_eval.stripped |
3.2 |
0.0 |
3.1 |
4.2 |
broome |
_ |
_ |
bash |
2.1 |
2.0 |
0.0 |
3.3 |
broome |
_ |
_ |
python2 |
16.8 |
16.7 |
0.0 |
7.2 |
lenny |
_ |
_ |
python2 |
9.0 |
0.0 |
8.2 |
7.2 |
lenny |
_ |
_ |
dash |
0.6 |
0.5 |
0.0 |
1.6 |
lenny |
_ |
_ |
osh_eval.stripped |
1.2 |
1.2 |
0.0 |
4.4 |
lenny |
_ |
_ |
bash |
11.2 |
1.4 |
0.0 |
3.4 |
fibonacci (integers)
- arg1: number of repetitions
- arg2: the N in fib(N)
host name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
200 |
44 |
python2 |
18.5 |
18.5 |
0.0 |
7.4 |
broome |
200 |
44 |
dash |
39.8 |
39.8 |
0.0 |
1.8 |
broome |
200 |
44 |
bash |
133.1 |
129.1 |
3.9 |
3.4 |
broome |
200 |
44 |
osh_eval.stripped |
1,499.9 |
1,391.9 |
108.0 |
251.0 |
lenny |
200 |
44 |
python2 |
21.1 |
8.3 |
2.8 |
7.5 |
lenny |
200 |
44 |
dash |
17.2 |
17.1 |
0.0 |
1.7 |
lenny |
200 |
44 |
bash |
78.9 |
78.6 |
0.0 |
3.5 |
lenny |
200 |
44 |
osh_eval.stripped |
1,531.2 |
1,443.0 |
88.2 |
251.0 |
word_freq (associative arrays / hash tables)
- arg1: number of repetitions
- arg2: the file (varies size of hash table)
host name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
10 |
configure |
python2 |
36.0 |
28.9 |
9.2 |
7.5 |
broome |
10 |
configure |
bash |
155.6 |
151.6 |
9.0 |
3.7 |
broome |
10 |
configure |
osh_eval.stripped |
798.8 |
766.0 |
38.7 |
141.5 |
lenny |
10 |
configure |
python2 |
24.3 |
21.9 |
2.8 |
7.3 |
lenny |
10 |
configure |
bash |
91.4 |
87.5 |
6.0 |
3.6 |
lenny |
10 |
configure |
osh_eval.stripped |
787.7 |
726.2 |
64.2 |
141.3 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
bash |
39.5 |
27.1 |
12.8 |
3.8 |
broome |
ls |
osh_eval.stripped |
104.4 |
86.8 |
17.9 |
17.3 |
broome |
ls-short |
bash |
16.8 |
15.0 |
2.3 |
3.7 |
broome |
ls-short |
osh_eval.stripped |
22.9 |
22.0 |
1.3 |
5.6 |
broome |
mypy |
bash |
42.6 |
26.7 |
16.3 |
3.7 |
broome |
mypy |
osh_eval.stripped |
129.1 |
104.4 |
25.0 |
22.0 |
lenny |
ls |
bash |
20.7 |
20.9 |
0.0 |
3.6 |
lenny |
ls |
osh_eval.stripped |
61.7 |
62.0 |
0.0 |
17.4 |
lenny |
ls-short |
bash |
8.2 |
7.7 |
0.5 |
3.6 |
lenny |
ls-short |
osh_eval.stripped |
9.9 |
10.1 |
0.0 |
5.7 |
lenny |
mypy |
bash |
24.6 |
19.2 |
5.6 |
3.7 |
lenny |
mypy |
osh_eval.stripped |
75.0 |
70.7 |
4.1 |
21.8 |
bubble_sort (array of integers, arrays of strings)
- arg1: type of array
- arg2: length of array
host name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
bytes |
200 |
python2 |
31.1 |
21.2 |
10.1 |
7.4 |
broome |
bytes |
200 |
bash |
344.5 |
336.0 |
9.0 |
3.6 |
broome |
bytes |
200 |
osh_eval.stripped |
2,816.7 |
2,654.4 |
162.7 |
442.3 |
broome |
int |
200 |
python2 |
61.9 |
61.3 |
0.9 |
7.3 |
broome |
int |
200 |
bash |
355.3 |
349.7 |
6.2 |
3.7 |
broome |
int |
200 |
osh_eval.stripped |
2,603.2 |
2,438.3 |
165.4 |
395.0 |
lenny |
bytes |
200 |
python2 |
13.1 |
8.7 |
4.7 |
7.3 |
lenny |
bytes |
200 |
bash |
225.5 |
225.8 |
0.0 |
3.5 |
lenny |
bytes |
200 |
osh_eval.stripped |
2,863.2 |
2,688.3 |
175.2 |
447.1 |
lenny |
int |
200 |
python2 |
71.9 |
50.0 |
12.3 |
7.2 |
lenny |
int |
200 |
bash |
217.5 |
212.3 |
4.6 |
3.6 |
lenny |
int |
200 |
osh_eval.stripped |
2,592.0 |
2,480.1 |
112.1 |
391.6 |
Interpreter and Host Details
Details
host name |
task name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
bubble_sort |
bytes |
200 |
python2 |
31.1 |
21.2 |
10.1 |
7.4 |
broome |
bubble_sort |
bytes |
200 |
bash |
344.5 |
336.0 |
9.0 |
3.6 |
broome |
bubble_sort |
bytes |
200 |
osh_eval.stripped |
2,816.7 |
2,654.4 |
162.7 |
442.3 |
broome |
bubble_sort |
int |
200 |
python2 |
61.9 |
61.3 |
0.9 |
7.3 |
broome |
bubble_sort |
int |
200 |
bash |
355.3 |
349.7 |
6.2 |
3.7 |
broome |
bubble_sort |
int |
200 |
osh_eval.stripped |
2,603.2 |
2,438.3 |
165.4 |
395.0 |
broome |
fib |
200 |
44 |
python2 |
18.5 |
18.5 |
0.0 |
7.4 |
broome |
fib |
200 |
44 |
dash |
39.8 |
39.8 |
0.0 |
1.8 |
broome |
fib |
200 |
44 |
bash |
133.1 |
129.1 |
3.9 |
3.4 |
broome |
fib |
200 |
44 |
osh_eval.stripped |
1,499.9 |
1,391.9 |
108.0 |
251.0 |
broome |
hello |
_ |
_ |
dash |
1.0 |
0.0 |
0.9 |
1.7 |
broome |
hello |
_ |
_ |
osh_eval.stripped |
3.2 |
0.0 |
3.1 |
4.2 |
broome |
hello |
_ |
_ |
bash |
2.1 |
2.0 |
0.0 |
3.3 |
broome |
hello |
_ |
_ |
python2 |
16.8 |
16.7 |
0.0 |
7.2 |
broome |
palindrome |
bytes |
_ |
python2 |
34.7 |
24.7 |
10.6 |
7.4 |
broome |
palindrome |
bytes |
_ |
bash |
199.2 |
176.7 |
23.0 |
3.6 |
broome |
palindrome |
bytes |
_ |
osh_eval.stripped |
3,691.5 |
3,482.3 |
209.3 |
567.9 |
broome |
palindrome |
unicode |
_ |
python2 |
38.4 |
36.0 |
2.7 |
7.7 |
broome |
palindrome |
unicode |
_ |
bash |
244.9 |
217.9 |
27.6 |
3.5 |
broome |
palindrome |
unicode |
_ |
osh_eval.stripped |
3,654.4 |
3,450.0 |
204.3 |
567.9 |
broome |
parse_help |
ls |
_ |
bash |
39.5 |
27.1 |
12.8 |
3.8 |
broome |
parse_help |
ls |
_ |
osh_eval.stripped |
104.4 |
86.8 |
17.9 |
17.3 |
broome |
parse_help |
ls-short |
_ |
bash |
16.8 |
15.0 |
2.3 |
3.7 |
broome |
parse_help |
ls-short |
_ |
osh_eval.stripped |
22.9 |
22.0 |
1.3 |
5.6 |
broome |
parse_help |
mypy |
_ |
bash |
42.6 |
26.7 |
16.3 |
3.7 |
broome |
parse_help |
mypy |
_ |
osh_eval.stripped |
129.1 |
104.4 |
25.0 |
22.0 |
broome |
word_freq |
10 |
configure |
python2 |
36.0 |
28.9 |
9.2 |
7.5 |
broome |
word_freq |
10 |
configure |
bash |
155.6 |
151.6 |
9.0 |
3.7 |
broome |
word_freq |
10 |
configure |
osh_eval.stripped |
798.8 |
766.0 |
38.7 |
141.5 |
lenny |
bubble_sort |
bytes |
200 |
python2 |
13.1 |
8.7 |
4.7 |
7.3 |
lenny |
bubble_sort |
bytes |
200 |
bash |
225.5 |
225.8 |
0.0 |
3.5 |
lenny |
bubble_sort |
bytes |
200 |
osh_eval.stripped |
2,863.2 |
2,688.3 |
175.2 |
447.1 |
lenny |
bubble_sort |
int |
200 |
python2 |
71.9 |
50.0 |
12.3 |
7.2 |
lenny |
bubble_sort |
int |
200 |
bash |
217.5 |
212.3 |
4.6 |
3.6 |
lenny |
bubble_sort |
int |
200 |
osh_eval.stripped |
2,592.0 |
2,480.1 |
112.1 |
391.6 |
lenny |
fib |
200 |
44 |
python2 |
21.1 |
8.3 |
2.8 |
7.5 |
lenny |
fib |
200 |
44 |
dash |
17.2 |
17.1 |
0.0 |
1.7 |
lenny |
fib |
200 |
44 |
bash |
78.9 |
78.6 |
0.0 |
3.5 |
lenny |
fib |
200 |
44 |
osh_eval.stripped |
1,531.2 |
1,443.0 |
88.2 |
251.0 |
lenny |
hello |
_ |
_ |
python2 |
9.0 |
0.0 |
8.2 |
7.2 |
lenny |
hello |
_ |
_ |
dash |
0.6 |
0.5 |
0.0 |
1.6 |
lenny |
hello |
_ |
_ |
osh_eval.stripped |
1.2 |
1.2 |
0.0 |
4.4 |
lenny |
hello |
_ |
_ |
bash |
11.2 |
1.4 |
0.0 |
3.4 |
lenny |
palindrome |
bytes |
_ |
python2 |
14.8 |
15.1 |
0.0 |
7.5 |
lenny |
palindrome |
bytes |
_ |
bash |
134.3 |
134.1 |
0.5 |
3.6 |
lenny |
palindrome |
bytes |
_ |
osh_eval.stripped |
3,671.4 |
3,381.8 |
256.0 |
567.8 |
lenny |
palindrome |
unicode |
_ |
python2 |
65.7 |
27.2 |
4.3 |
7.6 |
lenny |
palindrome |
unicode |
_ |
bash |
159.6 |
158.8 |
1.0 |
3.6 |
lenny |
palindrome |
unicode |
_ |
osh_eval.stripped |
3,654.0 |
3,424.9 |
228.0 |
568.0 |
lenny |
parse_help |
ls |
_ |
bash |
20.7 |
20.9 |
0.0 |
3.6 |
lenny |
parse_help |
ls |
_ |
osh_eval.stripped |
61.7 |
62.0 |
0.0 |
17.4 |
lenny |
parse_help |
ls-short |
_ |
bash |
8.2 |
7.7 |
0.5 |
3.6 |
lenny |
parse_help |
ls-short |
_ |
osh_eval.stripped |
9.9 |
10.1 |
0.0 |
5.7 |
lenny |
parse_help |
mypy |
_ |
bash |
24.6 |
19.2 |
5.6 |
3.7 |
lenny |
parse_help |
mypy |
_ |
osh_eval.stripped |
75.0 |
70.7 |
4.1 |
21.8 |
lenny |
word_freq |
10 |
configure |
python2 |
24.3 |
21.9 |
2.8 |
7.3 |
lenny |
word_freq |
10 |
configure |
bash |
91.4 |
87.5 |
6.0 |
3.6 |
lenny |
word_freq |
10 |
configure |
osh_eval.stripped |
787.7 |
726.2 |
64.2 |
141.3 |