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 |
flanders |
_ |
_ |
dash |
1.7 |
1.7 |
0.0 |
1.6 |
flanders |
_ |
_ |
bash |
2.9 |
2.9 |
0.0 |
3.1 |
flanders |
_ |
_ |
osh_eval.opt.stripped |
4.2 |
4.1 |
0.0 |
3.9 |
flanders |
_ |
_ |
python |
21.2 |
12.7 |
8.4 |
6.8 |
lisa |
_ |
_ |
dash |
0.4 |
0.3 |
0.0 |
1.7 |
lisa |
_ |
_ |
bash |
0.8 |
0.8 |
0.0 |
3.1 |
lisa |
_ |
_ |
osh_eval.opt.stripped |
1.1 |
1.1 |
0.0 |
3.9 |
lisa |
_ |
_ |
python |
7.8 |
7.7 |
0.0 |
6.9 |
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 |
flanders |
200 |
44 |
python |
23.0 |
11.4 |
11.4 |
6.9 |
flanders |
200 |
44 |
dash |
59.3 |
55.3 |
3.9 |
1.7 |
flanders |
200 |
44 |
bash |
247.6 |
239.6 |
8.0 |
3.1 |
flanders |
200 |
44 |
osh_eval.opt.stripped |
295.5 |
247.6 |
47.9 |
98.9 |
lisa |
200 |
44 |
python |
10.2 |
10.2 |
0.0 |
6.9 |
lisa |
200 |
44 |
dash |
20.2 |
20.1 |
0.0 |
1.6 |
lisa |
200 |
44 |
bash |
75.3 |
75.2 |
0.0 |
3.1 |
lisa |
200 |
44 |
osh_eval.opt.stripped |
100.4 |
79.5 |
19.9 |
98.8 |
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 |
flanders |
10 |
configure |
python |
45.6 |
35.4 |
13.2 |
7.1 |
flanders |
10 |
configure |
osh_eval.opt.stripped |
230.2 |
208.6 |
24.2 |
63.5 |
flanders |
10 |
configure |
bash |
304.6 |
306.9 |
5.0 |
3.3 |
lisa |
10 |
configure |
python |
17.5 |
11.0 |
7.4 |
7.1 |
lisa |
10 |
configure |
osh_eval.opt.stripped |
92.3 |
69.1 |
23.9 |
63.5 |
lisa |
10 |
configure |
bash |
93.3 |
88.4 |
7.1 |
3.4 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
flanders |
ls |
bash |
50.1 |
37.6 |
12.8 |
3.5 |
flanders |
ls |
osh_eval.opt.stripped |
57.0 |
53.2 |
4.1 |
10.6 |
flanders |
ls-short |
osh_eval.opt.stripped |
22.3 |
17.8 |
4.8 |
4.9 |
flanders |
ls-short |
bash |
22.3 |
18.3 |
0.0 |
3.4 |
flanders |
mypy |
osh_eval.opt.stripped |
71.9 |
37.9 |
34.3 |
13.0 |
flanders |
mypy |
bash |
56.8 |
47.0 |
10.1 |
3.6 |
lisa |
ls |
bash |
15.3 |
15.2 |
0.0 |
3.6 |
lisa |
ls |
osh_eval.opt.stripped |
20.2 |
16.1 |
4.2 |
10.6 |
lisa |
ls-short |
osh_eval.opt.stripped |
5.1 |
3.5 |
1.7 |
5.0 |
lisa |
ls-short |
bash |
7.9 |
6.1 |
0.0 |
3.5 |
lisa |
mypy |
bash |
19.0 |
18.8 |
0.0 |
3.6 |
lisa |
mypy |
osh_eval.opt.stripped |
30.8 |
24.6 |
5.9 |
13.0 |
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 |
flanders |
bytes |
200 |
python |
44.9 |
34.8 |
10.4 |
6.8 |
flanders |
bytes |
200 |
osh_eval.opt.stripped |
588.6 |
509.6 |
79.5 |
161.3 |
flanders |
bytes |
200 |
bash |
784.2 |
776.7 |
8.0 |
3.3 |
flanders |
int |
200 |
python |
83.4 |
62.5 |
21.4 |
6.8 |
flanders |
int |
200 |
osh_eval.opt.stripped |
549.9 |
469.6 |
80.7 |
141.4 |
flanders |
int |
200 |
bash |
803.4 |
794.8 |
9.1 |
3.3 |
lisa |
bytes |
200 |
python |
15.5 |
14.7 |
0.6 |
7.0 |
lisa |
bytes |
200 |
osh_eval.opt.stripped |
202.7 |
190.9 |
11.9 |
144.3 |
lisa |
bytes |
200 |
bash |
238.2 |
237.8 |
0.4 |
3.5 |
lisa |
int |
200 |
python |
32.8 |
28.8 |
4.2 |
6.9 |
lisa |
int |
200 |
osh_eval.opt.stripped |
214.3 |
178.7 |
35.8 |
142.3 |
lisa |
int |
200 |
bash |
260.4 |
260.4 |
0.0 |
3.4 |
Interpreter and Host Details
Details
host name |
task name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
flanders |
bubble_sort |
bytes |
200 |
python |
44.9 |
34.8 |
10.4 |
6.8 |
flanders |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
588.6 |
509.6 |
79.5 |
161.3 |
flanders |
bubble_sort |
bytes |
200 |
bash |
784.2 |
776.7 |
8.0 |
3.3 |
flanders |
bubble_sort |
int |
200 |
python |
83.4 |
62.5 |
21.4 |
6.8 |
flanders |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
549.9 |
469.6 |
80.7 |
141.4 |
flanders |
bubble_sort |
int |
200 |
bash |
803.4 |
794.8 |
9.1 |
3.3 |
flanders |
fib |
200 |
44 |
python |
23.0 |
11.4 |
11.4 |
6.9 |
flanders |
fib |
200 |
44 |
dash |
59.3 |
55.3 |
3.9 |
1.7 |
flanders |
fib |
200 |
44 |
bash |
247.6 |
239.6 |
8.0 |
3.1 |
flanders |
fib |
200 |
44 |
osh_eval.opt.stripped |
295.5 |
247.6 |
47.9 |
98.9 |
flanders |
hello |
_ |
_ |
dash |
1.7 |
1.7 |
0.0 |
1.6 |
flanders |
hello |
_ |
_ |
bash |
2.9 |
2.9 |
0.0 |
3.1 |
flanders |
hello |
_ |
_ |
osh_eval.opt.stripped |
4.2 |
4.1 |
0.0 |
3.9 |
flanders |
hello |
_ |
_ |
python |
21.2 |
12.7 |
8.4 |
6.8 |
flanders |
palindrome |
bytes |
_ |
python |
41.4 |
37.7 |
4.1 |
7.0 |
flanders |
palindrome |
bytes |
_ |
bash |
466.0 |
454.2 |
12.3 |
3.3 |
flanders |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
799.3 |
650.5 |
149.3 |
231.0 |
flanders |
palindrome |
unicode |
_ |
python |
54.6 |
44.0 |
11.1 |
7.2 |
flanders |
palindrome |
unicode |
_ |
bash |
508.3 |
479.6 |
29.2 |
3.3 |
flanders |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
724.7 |
549.9 |
175.4 |
231.0 |
flanders |
parse_help |
ls |
_ |
bash |
50.1 |
37.6 |
12.8 |
3.5 |
flanders |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
57.0 |
53.2 |
4.1 |
10.6 |
flanders |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
22.3 |
17.8 |
4.8 |
4.9 |
flanders |
parse_help |
ls-short |
_ |
bash |
22.3 |
18.3 |
0.0 |
3.4 |
flanders |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
71.9 |
37.9 |
34.3 |
13.0 |
flanders |
parse_help |
mypy |
_ |
bash |
56.8 |
47.0 |
10.1 |
3.6 |
flanders |
word_freq |
10 |
configure |
python |
45.6 |
35.4 |
13.2 |
7.1 |
flanders |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
230.2 |
208.6 |
24.2 |
63.5 |
flanders |
word_freq |
10 |
configure |
bash |
304.6 |
306.9 |
5.0 |
3.3 |
lisa |
bubble_sort |
bytes |
200 |
python |
15.5 |
14.7 |
0.6 |
7.0 |
lisa |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
202.7 |
190.9 |
11.9 |
144.3 |
lisa |
bubble_sort |
bytes |
200 |
bash |
238.2 |
237.8 |
0.4 |
3.5 |
lisa |
bubble_sort |
int |
200 |
python |
32.8 |
28.8 |
4.2 |
6.9 |
lisa |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
214.3 |
178.7 |
35.8 |
142.3 |
lisa |
bubble_sort |
int |
200 |
bash |
260.4 |
260.4 |
0.0 |
3.4 |
lisa |
fib |
200 |
44 |
python |
10.2 |
10.2 |
0.0 |
6.9 |
lisa |
fib |
200 |
44 |
dash |
20.2 |
20.1 |
0.0 |
1.6 |
lisa |
fib |
200 |
44 |
bash |
75.3 |
75.2 |
0.0 |
3.1 |
lisa |
fib |
200 |
44 |
osh_eval.opt.stripped |
100.4 |
79.5 |
19.9 |
98.8 |
lisa |
hello |
_ |
_ |
dash |
0.4 |
0.3 |
0.0 |
1.7 |
lisa |
hello |
_ |
_ |
bash |
0.8 |
0.8 |
0.0 |
3.1 |
lisa |
hello |
_ |
_ |
osh_eval.opt.stripped |
1.1 |
1.1 |
0.0 |
3.9 |
lisa |
hello |
_ |
_ |
python |
7.8 |
7.7 |
0.0 |
6.9 |
lisa |
palindrome |
bytes |
_ |
python |
17.1 |
17.3 |
0.0 |
7.1 |
lisa |
palindrome |
bytes |
_ |
bash |
164.0 |
159.0 |
4.0 |
3.4 |
lisa |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
254.0 |
198.4 |
55.7 |
231.1 |
lisa |
palindrome |
unicode |
_ |
python |
18.6 |
15.2 |
3.6 |
7.2 |
lisa |
palindrome |
unicode |
_ |
bash |
183.2 |
175.4 |
8.0 |
3.4 |
lisa |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
260.5 |
204.2 |
56.4 |
231.0 |
lisa |
parse_help |
ls |
_ |
bash |
15.3 |
15.2 |
0.0 |
3.6 |
lisa |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
20.2 |
16.1 |
4.2 |
10.6 |
lisa |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
5.1 |
3.5 |
1.7 |
5.0 |
lisa |
parse_help |
ls-short |
_ |
bash |
7.9 |
6.1 |
0.0 |
3.5 |
lisa |
parse_help |
mypy |
_ |
bash |
19.0 |
18.8 |
0.0 |
3.6 |
lisa |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
30.8 |
24.6 |
5.9 |
13.0 |
lisa |
word_freq |
10 |
configure |
python |
17.5 |
11.0 |
7.4 |
7.1 |
lisa |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
92.3 |
69.1 |
23.9 |
63.5 |
lisa |
word_freq |
10 |
configure |
bash |
93.3 |
88.4 |
7.1 |
3.4 |