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 label |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
_ |
_ |
bash |
2 |
0 |
2 |
3.2 |
broome |
_ |
_ |
dash |
1 |
1 |
0 |
1.8 |
broome |
_ |
_ |
opt/osh |
4 |
4 |
0 |
6.1 |
broome |
_ |
_ |
python2 |
16 |
12 |
4 |
7.4 |
lenny |
_ |
_ |
dash |
1 |
0 |
1 |
1.7 |
lenny |
_ |
_ |
python2 |
7 |
0 |
7 |
7.5 |
lenny |
_ |
_ |
bash |
1 |
1 |
0 |
3.4 |
lenny |
_ |
_ |
opt/osh |
2 |
2 |
0 |
6.0 |
fibonacci (integers)
- arg1: number of repetitions
- arg2: the N in fib(N)
host name |
arg1 |
arg2 |
runtime label |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
200 |
44 |
python2 |
17 |
17 |
0 |
7.5 |
broome |
200 |
44 |
dash |
35 |
35 |
0 |
1.7 |
broome |
200 |
44 |
bash |
107 |
107 |
0 |
3.3 |
broome |
200 |
44 |
opt/osh |
281 |
281 |
0 |
9.0 |
lenny |
200 |
44 |
python2 |
8 |
4 |
4 |
7.5 |
lenny |
200 |
44 |
dash |
23 |
22 |
0 |
1.7 |
lenny |
200 |
44 |
bash |
81 |
81 |
0 |
3.3 |
lenny |
200 |
44 |
opt/osh |
402 |
402 |
0 |
8.8 |
word_freq (associative arrays / hash tables)
- arg1: number of repetitions
- arg2: the file (varies size of hash table)
host name |
arg1 |
arg2 |
runtime label |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
10 |
configure |
python2 |
35 |
36 |
2 |
7.6 |
broome |
10 |
configure |
bash |
143 |
137 |
13 |
3.6 |
broome |
10 |
configure |
opt/osh |
224 |
217 |
13 |
10.9 |
lenny |
10 |
configure |
python2 |
42 |
40 |
5 |
7.5 |
lenny |
10 |
configure |
bash |
122 |
117 |
11 |
3.7 |
lenny |
10 |
configure |
opt/osh |
317 |
299 |
19 |
10.9 |
parse_help (strings, real code)
host name |
arg1 |
runtime label |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
bash |
39 |
37 |
2 |
3.8 |
broome |
ls |
opt/osh |
70 |
54 |
16 |
9.4 |
broome |
ls-short |
opt/osh |
21 |
10 |
12 |
6.7 |
broome |
ls-short |
bash |
17 |
18 |
0 |
3.7 |
broome |
mypy |
bash |
45 |
32 |
13 |
3.7 |
broome |
mypy |
opt/osh |
87 |
74 |
14 |
9.4 |
lenny |
ls |
bash |
36 |
22 |
14 |
3.8 |
lenny |
ls |
opt/osh |
47 |
33 |
14 |
9.8 |
lenny |
ls-short |
opt/osh |
11 |
9 |
2 |
6.8 |
lenny |
ls-short |
bash |
43 |
19 |
16 |
3.6 |
lenny |
mypy |
bash |
31 |
31 |
0 |
3.8 |
lenny |
mypy |
opt/osh |
64 |
55 |
10 |
9.8 |
bubble_sort (array of integers, arrays of strings)
- arg1: type of array
- arg2: length of array
host name |
arg1 |
arg2 |
runtime label |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
bytes |
200 |
python2 |
32 |
30 |
3 |
7.2 |
broome |
bytes |
200 |
bash |
303 |
296 |
7 |
3.6 |
broome |
bytes |
200 |
opt/osh |
596 |
594 |
2 |
8.9 |
broome |
int |
200 |
python2 |
54 |
46 |
8 |
7.3 |
broome |
int |
200 |
bash |
360 |
361 |
0 |
3.6 |
broome |
int |
200 |
opt/osh |
590 |
576 |
15 |
8.9 |
lenny |
bytes |
200 |
python2 |
17 |
10 |
7 |
7.4 |
lenny |
bytes |
200 |
bash |
343 |
343 |
0 |
3.6 |
lenny |
bytes |
200 |
opt/osh |
757 |
753 |
4 |
8.8 |
lenny |
int |
200 |
python2 |
40 |
30 |
11 |
7.3 |
lenny |
int |
200 |
bash |
618 |
601 |
13 |
3.6 |
lenny |
int |
200 |
opt/osh |
645 |
637 |
8 |
8.9 |
Interpreter and Host Details
Details
host name |
task name |
arg1 |
arg2 |
runtime label |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
bubble_sort |
bytes |
200 |
python2 |
32 |
30 |
3 |
7.2 |
broome |
bubble_sort |
bytes |
200 |
bash |
303 |
296 |
7 |
3.6 |
broome |
bubble_sort |
bytes |
200 |
opt/osh |
596 |
594 |
2 |
8.9 |
broome |
bubble_sort |
int |
200 |
python2 |
54 |
46 |
8 |
7.3 |
broome |
bubble_sort |
int |
200 |
bash |
360 |
361 |
0 |
3.6 |
broome |
bubble_sort |
int |
200 |
opt/osh |
590 |
576 |
15 |
8.9 |
broome |
fib |
200 |
44 |
python2 |
17 |
17 |
0 |
7.5 |
broome |
fib |
200 |
44 |
dash |
35 |
35 |
0 |
1.7 |
broome |
fib |
200 |
44 |
bash |
107 |
107 |
0 |
3.3 |
broome |
fib |
200 |
44 |
opt/osh |
281 |
281 |
0 |
9.0 |
broome |
hello |
_ |
_ |
bash |
2 |
0 |
2 |
3.2 |
broome |
hello |
_ |
_ |
dash |
1 |
1 |
0 |
1.8 |
broome |
hello |
_ |
_ |
opt/osh |
4 |
4 |
0 |
6.1 |
broome |
hello |
_ |
_ |
python2 |
16 |
12 |
4 |
7.4 |
broome |
palindrome |
bytes |
_ |
python2 |
35 |
30 |
6 |
7.5 |
broome |
palindrome |
bytes |
_ |
bash |
238 |
217 |
22 |
3.6 |
broome |
palindrome |
bytes |
_ |
opt/osh |
751 |
719 |
32 |
9.4 |
broome |
palindrome |
unicode |
_ |
python2 |
36 |
31 |
6 |
7.6 |
broome |
palindrome |
unicode |
_ |
bash |
266 |
258 |
9 |
3.6 |
broome |
palindrome |
unicode |
_ |
opt/osh |
672 |
614 |
59 |
9.1 |
broome |
parse_help |
ls |
_ |
bash |
39 |
37 |
2 |
3.8 |
broome |
parse_help |
ls |
_ |
opt/osh |
70 |
54 |
16 |
9.4 |
broome |
parse_help |
ls-short |
_ |
opt/osh |
21 |
10 |
12 |
6.7 |
broome |
parse_help |
ls-short |
_ |
bash |
17 |
18 |
0 |
3.7 |
broome |
parse_help |
mypy |
_ |
bash |
45 |
32 |
13 |
3.7 |
broome |
parse_help |
mypy |
_ |
opt/osh |
87 |
74 |
14 |
9.4 |
broome |
word_freq |
10 |
configure |
python2 |
35 |
36 |
2 |
7.6 |
broome |
word_freq |
10 |
configure |
bash |
143 |
137 |
13 |
3.6 |
broome |
word_freq |
10 |
configure |
opt/osh |
224 |
217 |
13 |
10.9 |
lenny |
bubble_sort |
bytes |
200 |
python2 |
17 |
10 |
7 |
7.4 |
lenny |
bubble_sort |
bytes |
200 |
bash |
343 |
343 |
0 |
3.6 |
lenny |
bubble_sort |
bytes |
200 |
opt/osh |
757 |
753 |
4 |
8.8 |
lenny |
bubble_sort |
int |
200 |
python2 |
40 |
30 |
11 |
7.3 |
lenny |
bubble_sort |
int |
200 |
bash |
618 |
601 |
13 |
3.6 |
lenny |
bubble_sort |
int |
200 |
opt/osh |
645 |
637 |
8 |
8.9 |
lenny |
fib |
200 |
44 |
python2 |
8 |
4 |
4 |
7.5 |
lenny |
fib |
200 |
44 |
dash |
23 |
22 |
0 |
1.7 |
lenny |
fib |
200 |
44 |
bash |
81 |
81 |
0 |
3.3 |
lenny |
fib |
200 |
44 |
opt/osh |
402 |
402 |
0 |
8.8 |
lenny |
hello |
_ |
_ |
dash |
1 |
0 |
1 |
1.7 |
lenny |
hello |
_ |
_ |
python2 |
7 |
0 |
7 |
7.5 |
lenny |
hello |
_ |
_ |
bash |
1 |
1 |
0 |
3.4 |
lenny |
hello |
_ |
_ |
opt/osh |
2 |
2 |
0 |
6.0 |
lenny |
palindrome |
bytes |
_ |
python2 |
18 |
18 |
0 |
7.5 |
lenny |
palindrome |
bytes |
_ |
bash |
188 |
176 |
12 |
3.7 |
lenny |
palindrome |
bytes |
_ |
opt/osh |
683 |
674 |
10 |
9.4 |
lenny |
palindrome |
unicode |
_ |
python2 |
17 |
16 |
2 |
7.5 |
lenny |
palindrome |
unicode |
_ |
bash |
212 |
195 |
17 |
3.7 |
lenny |
palindrome |
unicode |
_ |
opt/osh |
684 |
669 |
12 |
9.3 |
lenny |
parse_help |
ls |
_ |
bash |
36 |
22 |
14 |
3.8 |
lenny |
parse_help |
ls |
_ |
opt/osh |
47 |
33 |
14 |
9.8 |
lenny |
parse_help |
ls-short |
_ |
opt/osh |
11 |
9 |
2 |
6.8 |
lenny |
parse_help |
ls-short |
_ |
bash |
43 |
19 |
16 |
3.6 |
lenny |
parse_help |
mypy |
_ |
bash |
31 |
31 |
0 |
3.8 |
lenny |
parse_help |
mypy |
_ |
opt/osh |
64 |
55 |
10 |
9.8 |
lenny |
word_freq |
10 |
configure |
python2 |
42 |
40 |
5 |
7.5 |
lenny |
word_freq |
10 |
configure |
bash |
122 |
117 |
11 |
3.7 |
lenny |
word_freq |
10 |
configure |
opt/osh |
317 |
299 |
19 |
10.9 |