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.4 |
broome |
_ |
_ |
opt/osh |
4 |
0 |
4 |
4.9 |
broome |
_ |
_ |
dash |
1 |
1 |
0 |
1.7 |
broome |
_ |
_ |
python2 |
17 |
13 |
4 |
7.3 |
lenny |
_ |
_ |
dash |
0 |
0 |
0 |
1.7 |
lenny |
_ |
_ |
bash |
1 |
1 |
0 |
3.4 |
lenny |
_ |
_ |
opt/osh |
2 |
2 |
0 |
5.0 |
lenny |
_ |
_ |
python2 |
6 |
6 |
0 |
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 |
18 |
9 |
9 |
7.3 |
broome |
200 |
44 |
dash |
41 |
38 |
4 |
1.7 |
broome |
200 |
44 |
bash |
109 |
105 |
4 |
3.3 |
broome |
200 |
44 |
opt/osh |
353 |
341 |
12 |
27.8 |
lenny |
200 |
44 |
python2 |
7 |
3 |
3 |
7.5 |
lenny |
200 |
44 |
dash |
18 |
18 |
0 |
1.7 |
lenny |
200 |
44 |
bash |
61 |
61 |
0 |
3.5 |
lenny |
200 |
44 |
opt/osh |
300 |
292 |
8 |
27.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 |
34 |
26 |
10 |
7.3 |
broome |
10 |
configure |
bash |
139 |
126 |
19 |
3.7 |
broome |
10 |
configure |
opt/osh |
322 |
311 |
18 |
44.1 |
lenny |
10 |
configure |
python2 |
14 |
9 |
6 |
7.6 |
lenny |
10 |
configure |
bash |
96 |
94 |
4 |
3.7 |
lenny |
10 |
configure |
opt/osh |
245 |
225 |
23 |
43.1 |
parse_help (strings, real code)
host name |
arg1 |
runtime label |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
opt/osh |
74 |
32 |
42 |
23.4 |
broome |
ls |
bash |
38 |
36 |
2 |
3.8 |
broome |
ls-short |
opt/osh |
21 |
15 |
6 |
6.5 |
broome |
ls-short |
bash |
17 |
16 |
2 |
3.7 |
broome |
mypy |
bash |
45 |
36 |
10 |
3.9 |
broome |
mypy |
opt/osh |
93 |
72 |
21 |
23.9 |
lenny |
ls |
bash |
19 |
18 |
2 |
3.7 |
lenny |
ls |
opt/osh |
42 |
30 |
13 |
23.5 |
lenny |
ls-short |
bash |
7 |
5 |
2 |
3.8 |
lenny |
ls-short |
opt/osh |
9 |
9 |
0 |
6.8 |
lenny |
mypy |
bash |
25 |
17 |
8 |
3.7 |
lenny |
mypy |
opt/osh |
43 |
35 |
8 |
24.0 |
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 |
36 |
30 |
6 |
7.3 |
broome |
bytes |
200 |
bash |
365 |
359 |
7 |
3.5 |
broome |
bytes |
200 |
opt/osh |
856 |
839 |
17 |
35.1 |
broome |
int |
200 |
python2 |
55 |
55 |
1 |
7.3 |
broome |
int |
200 |
bash |
376 |
366 |
11 |
3.6 |
broome |
int |
200 |
opt/osh |
863 |
838 |
26 |
39.1 |
lenny |
bytes |
200 |
python2 |
14 |
11 |
3 |
7.4 |
lenny |
bytes |
200 |
bash |
259 |
259 |
0 |
3.6 |
lenny |
bytes |
200 |
opt/osh |
899 |
872 |
4 |
34.9 |
lenny |
int |
200 |
python2 |
30 |
25 |
5 |
7.5 |
lenny |
int |
200 |
bash |
259 |
259 |
0 |
3.6 |
lenny |
int |
200 |
opt/osh |
800 |
785 |
16 |
39.1 |
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 |
36 |
30 |
6 |
7.3 |
broome |
bubble_sort |
bytes |
200 |
bash |
365 |
359 |
7 |
3.5 |
broome |
bubble_sort |
bytes |
200 |
opt/osh |
856 |
839 |
17 |
35.1 |
broome |
bubble_sort |
int |
200 |
python2 |
55 |
55 |
1 |
7.3 |
broome |
bubble_sort |
int |
200 |
bash |
376 |
366 |
11 |
3.6 |
broome |
bubble_sort |
int |
200 |
opt/osh |
863 |
838 |
26 |
39.1 |
broome |
fib |
200 |
44 |
python2 |
18 |
9 |
9 |
7.3 |
broome |
fib |
200 |
44 |
dash |
41 |
38 |
4 |
1.7 |
broome |
fib |
200 |
44 |
bash |
109 |
105 |
4 |
3.3 |
broome |
fib |
200 |
44 |
opt/osh |
353 |
341 |
12 |
27.8 |
broome |
hello |
_ |
_ |
bash |
2 |
0 |
2 |
3.4 |
broome |
hello |
_ |
_ |
opt/osh |
4 |
0 |
4 |
4.9 |
broome |
hello |
_ |
_ |
dash |
1 |
1 |
0 |
1.7 |
broome |
hello |
_ |
_ |
python2 |
17 |
13 |
4 |
7.3 |
broome |
palindrome |
bytes |
_ |
python2 |
34 |
34 |
0 |
7.5 |
broome |
palindrome |
bytes |
_ |
bash |
245 |
226 |
19 |
3.6 |
broome |
palindrome |
bytes |
_ |
opt/osh |
784 |
748 |
37 |
22.7 |
broome |
palindrome |
unicode |
_ |
python2 |
35 |
30 |
5 |
7.7 |
broome |
palindrome |
unicode |
_ |
bash |
253 |
244 |
9 |
3.6 |
broome |
palindrome |
unicode |
_ |
opt/osh |
781 |
733 |
48 |
22.6 |
broome |
parse_help |
ls |
_ |
opt/osh |
74 |
32 |
42 |
23.4 |
broome |
parse_help |
ls |
_ |
bash |
38 |
36 |
2 |
3.8 |
broome |
parse_help |
ls-short |
_ |
opt/osh |
21 |
15 |
6 |
6.5 |
broome |
parse_help |
ls-short |
_ |
bash |
17 |
16 |
2 |
3.7 |
broome |
parse_help |
mypy |
_ |
bash |
45 |
36 |
10 |
3.9 |
broome |
parse_help |
mypy |
_ |
opt/osh |
93 |
72 |
21 |
23.9 |
broome |
word_freq |
10 |
configure |
python2 |
34 |
26 |
10 |
7.3 |
broome |
word_freq |
10 |
configure |
bash |
139 |
126 |
19 |
3.7 |
broome |
word_freq |
10 |
configure |
opt/osh |
322 |
311 |
18 |
44.1 |
lenny |
bubble_sort |
bytes |
200 |
python2 |
14 |
11 |
3 |
7.4 |
lenny |
bubble_sort |
bytes |
200 |
bash |
259 |
259 |
0 |
3.6 |
lenny |
bubble_sort |
bytes |
200 |
opt/osh |
899 |
872 |
4 |
34.9 |
lenny |
bubble_sort |
int |
200 |
python2 |
30 |
25 |
5 |
7.5 |
lenny |
bubble_sort |
int |
200 |
bash |
259 |
259 |
0 |
3.6 |
lenny |
bubble_sort |
int |
200 |
opt/osh |
800 |
785 |
16 |
39.1 |
lenny |
fib |
200 |
44 |
python2 |
7 |
3 |
3 |
7.5 |
lenny |
fib |
200 |
44 |
dash |
18 |
18 |
0 |
1.7 |
lenny |
fib |
200 |
44 |
bash |
61 |
61 |
0 |
3.5 |
lenny |
fib |
200 |
44 |
opt/osh |
300 |
292 |
8 |
27.8 |
lenny |
hello |
_ |
_ |
dash |
0 |
0 |
0 |
1.7 |
lenny |
hello |
_ |
_ |
bash |
1 |
1 |
0 |
3.4 |
lenny |
hello |
_ |
_ |
opt/osh |
2 |
2 |
0 |
5.0 |
lenny |
hello |
_ |
_ |
python2 |
6 |
6 |
0 |
7.4 |
lenny |
palindrome |
bytes |
_ |
python2 |
14 |
14 |
0 |
7.4 |
lenny |
palindrome |
bytes |
_ |
bash |
153 |
146 |
8 |
3.6 |
lenny |
palindrome |
bytes |
_ |
opt/osh |
644 |
616 |
28 |
22.7 |
lenny |
palindrome |
unicode |
_ |
python2 |
15 |
10 |
5 |
7.7 |
lenny |
palindrome |
unicode |
_ |
bash |
170 |
158 |
12 |
3.7 |
lenny |
palindrome |
unicode |
_ |
opt/osh |
689 |
657 |
32 |
22.4 |
lenny |
parse_help |
ls |
_ |
bash |
19 |
18 |
2 |
3.7 |
lenny |
parse_help |
ls |
_ |
opt/osh |
42 |
30 |
13 |
23.5 |
lenny |
parse_help |
ls-short |
_ |
bash |
7 |
5 |
2 |
3.8 |
lenny |
parse_help |
ls-short |
_ |
opt/osh |
9 |
9 |
0 |
6.8 |
lenny |
parse_help |
mypy |
_ |
bash |
25 |
17 |
8 |
3.7 |
lenny |
parse_help |
mypy |
_ |
opt/osh |
43 |
35 |
8 |
24.0 |
lenny |
word_freq |
10 |
configure |
python2 |
14 |
9 |
6 |
7.6 |
lenny |
word_freq |
10 |
configure |
bash |
96 |
94 |
4 |
3.7 |
lenny |
word_freq |
10 |
configure |
opt/osh |
245 |
225 |
23 |
43.1 |