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 |
_ |
_ |
opt/osh_eval |
3 |
0 |
3 |
4.4 |
broome |
_ |
_ |
dash |
1 |
1 |
0 |
1.7 |
broome |
_ |
_ |
bash |
2 |
2 |
0 |
3.2 |
broome |
_ |
_ |
python2 |
14 |
9 |
5 |
7.3 |
lenny |
_ |
_ |
opt/osh_eval |
1 |
0 |
1 |
4.6 |
lenny |
_ |
_ |
dash |
1 |
0 |
0 |
1.7 |
lenny |
_ |
_ |
bash |
1 |
1 |
0 |
3.4 |
lenny |
_ |
_ |
python2 |
6 |
3 |
3 |
7.4 |
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.4 |
broome |
200 |
44 |
dash |
41 |
41 |
0 |
1.8 |
broome |
200 |
44 |
bash |
109 |
105 |
4 |
3.4 |
broome |
200 |
44 |
opt/osh_eval |
444 |
432 |
12 |
25.6 |
lenny |
200 |
44 |
python2 |
7 |
7 |
0 |
7.4 |
lenny |
200 |
44 |
dash |
18 |
18 |
0 |
1.8 |
lenny |
200 |
44 |
bash |
69 |
69 |
0 |
3.3 |
lenny |
200 |
44 |
opt/osh_eval |
407 |
403 |
4 |
25.6 |
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 |
34 |
35 |
1 |
7.4 |
broome |
10 |
configure |
bash |
180 |
176 |
9 |
3.6 |
broome |
10 |
configure |
opt/osh_eval |
381 |
358 |
30 |
33.0 |
lenny |
10 |
configure |
python2 |
14 |
15 |
0 |
7.5 |
lenny |
10 |
configure |
bash |
100 |
95 |
8 |
3.6 |
lenny |
10 |
configure |
opt/osh_eval |
288 |
276 |
14 |
33.1 |
parse_help (strings, real code)
host name |
arg1 |
runtime label |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
bash |
36 |
34 |
2 |
3.7 |
broome |
ls |
opt/osh_eval |
76 |
68 |
8 |
21.6 |
broome |
ls-short |
bash |
17 |
16 |
1 |
3.8 |
broome |
ls-short |
opt/osh_eval |
21 |
16 |
5 |
6.2 |
broome |
mypy |
bash |
45 |
45 |
1 |
3.8 |
broome |
mypy |
opt/osh_eval |
85 |
52 |
33 |
21.6 |
lenny |
ls |
bash |
18 |
18 |
0 |
3.8 |
lenny |
ls |
opt/osh_eval |
41 |
37 |
4 |
21.4 |
lenny |
ls-short |
bash |
8 |
8 |
0 |
3.8 |
lenny |
ls-short |
opt/osh_eval |
8 |
8 |
0 |
6.3 |
lenny |
mypy |
bash |
21 |
21 |
0 |
3.7 |
lenny |
mypy |
opt/osh_eval |
49 |
45 |
4 |
21.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 |
37 |
30 |
7 |
7.2 |
broome |
bytes |
200 |
bash |
388 |
388 |
1 |
3.6 |
broome |
bytes |
200 |
opt/osh_eval |
1,045 |
1,034 |
12 |
33.7 |
broome |
int |
200 |
python2 |
63 |
50 |
13 |
7.2 |
broome |
int |
200 |
bash |
406 |
402 |
4 |
3.7 |
broome |
int |
200 |
opt/osh_eval |
984 |
949 |
35 |
37.7 |
lenny |
bytes |
200 |
python2 |
14 |
13 |
2 |
7.3 |
lenny |
bytes |
200 |
bash |
261 |
260 |
2 |
3.7 |
lenny |
bytes |
200 |
opt/osh_eval |
1,013 |
994 |
19 |
33.8 |
lenny |
int |
200 |
python2 |
30 |
30 |
0 |
7.3 |
lenny |
int |
200 |
bash |
266 |
266 |
0 |
3.7 |
lenny |
int |
200 |
opt/osh_eval |
919 |
907 |
12 |
37.5 |
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 |
37 |
30 |
7 |
7.2 |
broome |
bubble_sort |
bytes |
200 |
bash |
388 |
388 |
1 |
3.6 |
broome |
bubble_sort |
bytes |
200 |
opt/osh_eval |
1,045 |
1,034 |
12 |
33.7 |
broome |
bubble_sort |
int |
200 |
python2 |
63 |
50 |
13 |
7.2 |
broome |
bubble_sort |
int |
200 |
bash |
406 |
402 |
4 |
3.7 |
broome |
bubble_sort |
int |
200 |
opt/osh_eval |
984 |
949 |
35 |
37.7 |
broome |
fib |
200 |
44 |
python2 |
17 |
17 |
0 |
7.4 |
broome |
fib |
200 |
44 |
dash |
41 |
41 |
0 |
1.8 |
broome |
fib |
200 |
44 |
bash |
109 |
105 |
4 |
3.4 |
broome |
fib |
200 |
44 |
opt/osh_eval |
444 |
432 |
12 |
25.6 |
broome |
hello |
_ |
_ |
opt/osh_eval |
3 |
0 |
3 |
4.4 |
broome |
hello |
_ |
_ |
dash |
1 |
1 |
0 |
1.7 |
broome |
hello |
_ |
_ |
bash |
2 |
2 |
0 |
3.2 |
broome |
hello |
_ |
_ |
python2 |
14 |
9 |
5 |
7.3 |
broome |
palindrome |
bytes |
_ |
python2 |
35 |
30 |
5 |
7.4 |
broome |
palindrome |
bytes |
_ |
bash |
204 |
190 |
14 |
3.6 |
broome |
palindrome |
bytes |
_ |
opt/osh_eval |
965 |
937 |
29 |
20.8 |
broome |
palindrome |
unicode |
_ |
python2 |
35 |
24 |
11 |
7.6 |
broome |
palindrome |
unicode |
_ |
bash |
264 |
243 |
22 |
3.7 |
broome |
palindrome |
unicode |
_ |
opt/osh_eval |
978 |
915 |
62 |
20.7 |
broome |
parse_help |
ls |
_ |
bash |
36 |
34 |
2 |
3.7 |
broome |
parse_help |
ls |
_ |
opt/osh_eval |
76 |
68 |
8 |
21.6 |
broome |
parse_help |
ls-short |
_ |
bash |
17 |
16 |
1 |
3.8 |
broome |
parse_help |
ls-short |
_ |
opt/osh_eval |
21 |
16 |
5 |
6.2 |
broome |
parse_help |
mypy |
_ |
bash |
45 |
45 |
1 |
3.8 |
broome |
parse_help |
mypy |
_ |
opt/osh_eval |
85 |
52 |
33 |
21.6 |
broome |
word_freq |
10 |
configure |
python2 |
34 |
35 |
1 |
7.4 |
broome |
word_freq |
10 |
configure |
bash |
180 |
176 |
9 |
3.6 |
broome |
word_freq |
10 |
configure |
opt/osh_eval |
381 |
358 |
30 |
33.0 |
lenny |
bubble_sort |
bytes |
200 |
python2 |
14 |
13 |
2 |
7.3 |
lenny |
bubble_sort |
bytes |
200 |
bash |
261 |
260 |
2 |
3.7 |
lenny |
bubble_sort |
bytes |
200 |
opt/osh_eval |
1,013 |
994 |
19 |
33.8 |
lenny |
bubble_sort |
int |
200 |
python2 |
30 |
30 |
0 |
7.3 |
lenny |
bubble_sort |
int |
200 |
bash |
266 |
266 |
0 |
3.7 |
lenny |
bubble_sort |
int |
200 |
opt/osh_eval |
919 |
907 |
12 |
37.5 |
lenny |
fib |
200 |
44 |
python2 |
7 |
7 |
0 |
7.4 |
lenny |
fib |
200 |
44 |
dash |
18 |
18 |
0 |
1.8 |
lenny |
fib |
200 |
44 |
bash |
69 |
69 |
0 |
3.3 |
lenny |
fib |
200 |
44 |
opt/osh_eval |
407 |
403 |
4 |
25.6 |
lenny |
hello |
_ |
_ |
opt/osh_eval |
1 |
0 |
1 |
4.6 |
lenny |
hello |
_ |
_ |
dash |
1 |
0 |
0 |
1.7 |
lenny |
hello |
_ |
_ |
bash |
1 |
1 |
0 |
3.4 |
lenny |
hello |
_ |
_ |
python2 |
6 |
3 |
3 |
7.4 |
lenny |
palindrome |
bytes |
_ |
python2 |
18 |
12 |
6 |
7.5 |
lenny |
palindrome |
bytes |
_ |
bash |
164 |
148 |
16 |
3.6 |
lenny |
palindrome |
bytes |
_ |
opt/osh_eval |
804 |
781 |
24 |
20.7 |
lenny |
palindrome |
unicode |
_ |
python2 |
15 |
15 |
0 |
7.7 |
lenny |
palindrome |
unicode |
_ |
bash |
183 |
183 |
0 |
3.6 |
lenny |
palindrome |
unicode |
_ |
opt/osh_eval |
800 |
785 |
16 |
20.9 |
lenny |
parse_help |
ls |
_ |
bash |
18 |
18 |
0 |
3.8 |
lenny |
parse_help |
ls |
_ |
opt/osh_eval |
41 |
37 |
4 |
21.4 |
lenny |
parse_help |
ls-short |
_ |
bash |
8 |
8 |
0 |
3.8 |
lenny |
parse_help |
ls-short |
_ |
opt/osh_eval |
8 |
8 |
0 |
6.3 |
lenny |
parse_help |
mypy |
_ |
bash |
21 |
21 |
0 |
3.7 |
lenny |
parse_help |
mypy |
_ |
opt/osh_eval |
49 |
45 |
4 |
21.8 |
lenny |
word_freq |
10 |
configure |
python2 |
14 |
15 |
0 |
7.5 |
lenny |
word_freq |
10 |
configure |
bash |
100 |
95 |
8 |
3.6 |
lenny |
word_freq |
10 |
configure |
opt/osh_eval |
288 |
276 |
14 |
33.1 |