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 |
_ |
_ |
dash |
1 |
1 |
0 |
1.7 |
broome |
_ |
_ |
bash |
2 |
2 |
0 |
3.4 |
broome |
_ |
_ |
opt/osh |
6 |
3 |
3 |
6.5 |
broome |
_ |
_ |
python2 |
17 |
13 |
4 |
7.2 |
lenny |
_ |
_ |
bash |
1 |
0 |
1 |
3.3 |
lenny |
_ |
_ |
python2 |
6 |
0 |
6 |
7.4 |
lenny |
_ |
_ |
dash |
0 |
0 |
0 |
1.7 |
lenny |
_ |
_ |
opt/osh |
2 |
2 |
0 |
6.5 |
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.3 |
broome |
200 |
44 |
dash |
40 |
40 |
0 |
1.8 |
broome |
200 |
44 |
bash |
109 |
109 |
0 |
3.3 |
broome |
200 |
44 |
opt/osh |
234 |
230 |
4 |
8.4 |
lenny |
200 |
44 |
python2 |
7 |
7 |
0 |
7.5 |
lenny |
200 |
44 |
dash |
19 |
19 |
0 |
1.7 |
lenny |
200 |
44 |
bash |
67 |
67 |
0 |
3.4 |
lenny |
200 |
44 |
opt/osh |
189 |
185 |
4 |
8.4 |
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 |
24 |
13 |
7.6 |
broome |
10 |
configure |
bash |
175 |
159 |
23 |
3.7 |
broome |
10 |
configure |
opt/osh |
228 |
206 |
28 |
9.5 |
lenny |
10 |
configure |
python2 |
14 |
15 |
0 |
7.5 |
lenny |
10 |
configure |
bash |
98 |
92 |
8 |
3.6 |
lenny |
10 |
configure |
opt/osh |
142 |
138 |
7 |
9.4 |
parse_help (strings, real code)
host name |
arg1 |
runtime label |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
bash |
37 |
30 |
7 |
3.8 |
broome |
ls |
opt/osh |
66 |
61 |
5 |
8.8 |
broome |
ls-short |
bash |
17 |
11 |
7 |
3.7 |
broome |
ls-short |
opt/osh |
23 |
17 |
6 |
7.2 |
broome |
mypy |
bash |
45 |
36 |
10 |
3.8 |
broome |
mypy |
opt/osh |
80 |
69 |
12 |
8.9 |
lenny |
ls |
bash |
16 |
13 |
3 |
3.8 |
lenny |
ls |
opt/osh |
27 |
21 |
7 |
9.0 |
lenny |
ls-short |
opt/osh |
8 |
5 |
3 |
7.1 |
lenny |
ls-short |
bash |
6 |
6 |
0 |
3.6 |
lenny |
mypy |
bash |
20 |
20 |
0 |
3.8 |
lenny |
mypy |
opt/osh |
43 |
31 |
12 |
9.1 |
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 |
34 |
27 |
8 |
7.3 |
broome |
bytes |
200 |
bash |
374 |
369 |
6 |
3.7 |
broome |
bytes |
200 |
opt/osh |
529 |
521 |
8 |
8.4 |
broome |
int |
200 |
python2 |
64 |
61 |
4 |
7.2 |
broome |
int |
200 |
bash |
343 |
343 |
1 |
3.6 |
broome |
int |
200 |
opt/osh |
533 |
515 |
19 |
8.4 |
lenny |
bytes |
200 |
python2 |
14 |
12 |
2 |
7.4 |
lenny |
bytes |
200 |
bash |
306 |
306 |
0 |
3.7 |
lenny |
bytes |
200 |
opt/osh |
564 |
562 |
0 |
8.4 |
lenny |
int |
200 |
python2 |
30 |
30 |
0 |
7.4 |
lenny |
int |
200 |
bash |
262 |
260 |
2 |
3.7 |
lenny |
int |
200 |
opt/osh |
530 |
526 |
4 |
8.3 |
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 |
34 |
27 |
8 |
7.3 |
broome |
bubble_sort |
bytes |
200 |
bash |
374 |
369 |
6 |
3.7 |
broome |
bubble_sort |
bytes |
200 |
opt/osh |
529 |
521 |
8 |
8.4 |
broome |
bubble_sort |
int |
200 |
python2 |
64 |
61 |
4 |
7.2 |
broome |
bubble_sort |
int |
200 |
bash |
343 |
343 |
1 |
3.6 |
broome |
bubble_sort |
int |
200 |
opt/osh |
533 |
515 |
19 |
8.4 |
broome |
fib |
200 |
44 |
python2 |
17 |
17 |
0 |
7.3 |
broome |
fib |
200 |
44 |
dash |
40 |
40 |
0 |
1.8 |
broome |
fib |
200 |
44 |
bash |
109 |
109 |
0 |
3.3 |
broome |
fib |
200 |
44 |
opt/osh |
234 |
230 |
4 |
8.4 |
broome |
hello |
_ |
_ |
dash |
1 |
1 |
0 |
1.7 |
broome |
hello |
_ |
_ |
bash |
2 |
2 |
0 |
3.4 |
broome |
hello |
_ |
_ |
opt/osh |
6 |
3 |
3 |
6.5 |
broome |
hello |
_ |
_ |
python2 |
17 |
13 |
4 |
7.2 |
broome |
palindrome |
bytes |
_ |
python2 |
36 |
31 |
5 |
7.5 |
broome |
palindrome |
bytes |
_ |
bash |
242 |
237 |
6 |
3.6 |
broome |
palindrome |
bytes |
_ |
opt/osh |
532 |
515 |
17 |
8.5 |
broome |
palindrome |
unicode |
_ |
python2 |
38 |
34 |
5 |
7.4 |
broome |
palindrome |
unicode |
_ |
bash |
265 |
236 |
30 |
3.7 |
broome |
palindrome |
unicode |
_ |
opt/osh |
524 |
503 |
21 |
8.6 |
broome |
parse_help |
ls |
_ |
bash |
37 |
30 |
7 |
3.8 |
broome |
parse_help |
ls |
_ |
opt/osh |
66 |
61 |
5 |
8.8 |
broome |
parse_help |
ls-short |
_ |
bash |
17 |
11 |
7 |
3.7 |
broome |
parse_help |
ls-short |
_ |
opt/osh |
23 |
17 |
6 |
7.2 |
broome |
parse_help |
mypy |
_ |
bash |
45 |
36 |
10 |
3.8 |
broome |
parse_help |
mypy |
_ |
opt/osh |
80 |
69 |
12 |
8.9 |
broome |
word_freq |
10 |
configure |
python2 |
35 |
24 |
13 |
7.6 |
broome |
word_freq |
10 |
configure |
bash |
175 |
159 |
23 |
3.7 |
broome |
word_freq |
10 |
configure |
opt/osh |
228 |
206 |
28 |
9.5 |
lenny |
bubble_sort |
bytes |
200 |
python2 |
14 |
12 |
2 |
7.4 |
lenny |
bubble_sort |
bytes |
200 |
bash |
306 |
306 |
0 |
3.7 |
lenny |
bubble_sort |
bytes |
200 |
opt/osh |
564 |
562 |
0 |
8.4 |
lenny |
bubble_sort |
int |
200 |
python2 |
30 |
30 |
0 |
7.4 |
lenny |
bubble_sort |
int |
200 |
bash |
262 |
260 |
2 |
3.7 |
lenny |
bubble_sort |
int |
200 |
opt/osh |
530 |
526 |
4 |
8.3 |
lenny |
fib |
200 |
44 |
python2 |
7 |
7 |
0 |
7.5 |
lenny |
fib |
200 |
44 |
dash |
19 |
19 |
0 |
1.7 |
lenny |
fib |
200 |
44 |
bash |
67 |
67 |
0 |
3.4 |
lenny |
fib |
200 |
44 |
opt/osh |
189 |
185 |
4 |
8.4 |
lenny |
hello |
_ |
_ |
bash |
1 |
0 |
1 |
3.3 |
lenny |
hello |
_ |
_ |
python2 |
6 |
0 |
6 |
7.4 |
lenny |
hello |
_ |
_ |
dash |
0 |
0 |
0 |
1.7 |
lenny |
hello |
_ |
_ |
opt/osh |
2 |
2 |
0 |
6.5 |
lenny |
palindrome |
bytes |
_ |
python2 |
14 |
9 |
5 |
7.6 |
lenny |
palindrome |
bytes |
_ |
bash |
159 |
147 |
12 |
3.5 |
lenny |
palindrome |
bytes |
_ |
opt/osh |
452 |
445 |
8 |
8.7 |
lenny |
palindrome |
unicode |
_ |
python2 |
16 |
16 |
0 |
7.6 |
lenny |
palindrome |
unicode |
_ |
bash |
196 |
181 |
16 |
3.6 |
lenny |
palindrome |
unicode |
_ |
opt/osh |
419 |
412 |
8 |
8.6 |
lenny |
parse_help |
ls |
_ |
bash |
16 |
13 |
3 |
3.8 |
lenny |
parse_help |
ls |
_ |
opt/osh |
27 |
21 |
7 |
9.0 |
lenny |
parse_help |
ls-short |
_ |
opt/osh |
8 |
5 |
3 |
7.1 |
lenny |
parse_help |
ls-short |
_ |
bash |
6 |
6 |
0 |
3.6 |
lenny |
parse_help |
mypy |
_ |
bash |
20 |
20 |
0 |
3.8 |
lenny |
parse_help |
mypy |
_ |
opt/osh |
43 |
31 |
12 |
9.1 |
lenny |
word_freq |
10 |
configure |
python2 |
14 |
15 |
0 |
7.5 |
lenny |
word_freq |
10 |
configure |
bash |
98 |
92 |
8 |
3.6 |
lenny |
word_freq |
10 |
configure |
opt/osh |
142 |
138 |
7 |
9.4 |