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 |
_ |
_ |
bash |
2.5 |
0.0 |
2.2 |
3.0 |
flanders |
_ |
_ |
osh_eval.opt.stripped |
3.2 |
0.0 |
3.2 |
4.1 |
flanders |
_ |
_ |
dash |
1.2 |
1.2 |
0.0 |
1.6 |
flanders |
_ |
_ |
python |
21.2 |
15.4 |
3.9 |
6.8 |
lenny |
_ |
_ |
dash |
0.4 |
0.4 |
0.0 |
1.7 |
lenny |
_ |
_ |
bash |
1.3 |
0.8 |
0.0 |
3.4 |
lenny |
_ |
_ |
osh_eval.opt.stripped |
1.1 |
1.0 |
0.0 |
4.1 |
lenny |
_ |
_ |
python |
6.2 |
6.0 |
0.0 |
7.1 |
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 |
22.9 |
14.0 |
7.0 |
6.9 |
flanders |
200 |
44 |
dash |
55.3 |
55.3 |
0.0 |
1.7 |
flanders |
200 |
44 |
bash |
245.7 |
241.6 |
4.0 |
3.1 |
flanders |
200 |
44 |
osh_eval.opt.stripped |
297.1 |
249.5 |
47.5 |
99.7 |
lenny |
200 |
44 |
python |
7.0 |
0.0 |
6.7 |
7.3 |
lenny |
200 |
44 |
dash |
17.3 |
17.2 |
0.0 |
1.8 |
lenny |
200 |
44 |
bash |
61.8 |
61.7 |
0.0 |
3.4 |
lenny |
200 |
44 |
osh_eval.opt.stripped |
87.5 |
70.7 |
16.6 |
99.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 |
44.8 |
30.6 |
15.2 |
7.1 |
flanders |
10 |
configure |
osh_eval.opt.stripped |
229.8 |
191.0 |
41.3 |
64.7 |
flanders |
10 |
configure |
bash |
299.8 |
285.9 |
20.0 |
3.4 |
lenny |
10 |
configure |
python |
14.8 |
6.0 |
9.7 |
7.5 |
lenny |
10 |
configure |
osh_eval.opt.stripped |
72.9 |
48.3 |
25.5 |
64.9 |
lenny |
10 |
configure |
bash |
82.3 |
84.0 |
0.0 |
3.7 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
flanders |
ls |
bash |
44.3 |
44.4 |
0.0 |
3.6 |
flanders |
ls |
osh_eval.opt.stripped |
60.0 |
44.6 |
15.7 |
10.7 |
flanders |
ls-short |
bash |
20.2 |
6.1 |
11.9 |
3.4 |
flanders |
ls-short |
osh_eval.opt.stripped |
20.4 |
12.1 |
8.7 |
5.1 |
flanders |
mypy |
bash |
52.7 |
39.7 |
13.1 |
3.7 |
flanders |
mypy |
osh_eval.opt.stripped |
73.8 |
56.1 |
18.0 |
13.1 |
lenny |
ls |
bash |
14.7 |
10.9 |
3.8 |
3.8 |
lenny |
ls |
osh_eval.opt.stripped |
16.5 |
12.1 |
4.4 |
11.0 |
lenny |
ls-short |
bash |
5.9 |
5.0 |
0.0 |
3.8 |
lenny |
ls-short |
osh_eval.opt.stripped |
4.9 |
5.0 |
0.0 |
5.3 |
lenny |
mypy |
bash |
18.3 |
13.4 |
4.9 |
3.9 |
lenny |
mypy |
osh_eval.opt.stripped |
25.2 |
25.3 |
0.0 |
13.4 |
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 |
43.2 |
29.2 |
14.6 |
6.7 |
flanders |
bytes |
200 |
osh_eval.opt.stripped |
587.6 |
520.8 |
67.3 |
171.6 |
flanders |
bytes |
200 |
bash |
787.0 |
783.1 |
4.4 |
3.3 |
flanders |
int |
200 |
python |
80.7 |
67.0 |
12.1 |
6.7 |
flanders |
int |
200 |
osh_eval.opt.stripped |
494.8 |
421.9 |
73.4 |
139.9 |
flanders |
int |
200 |
bash |
780.2 |
774.7 |
4.0 |
3.3 |
lenny |
bytes |
200 |
python |
12.2 |
12.4 |
0.0 |
7.2 |
lenny |
bytes |
200 |
osh_eval.opt.stripped |
194.9 |
131.2 |
63.8 |
160.2 |
lenny |
bytes |
200 |
bash |
212.6 |
212.7 |
0.0 |
3.5 |
lenny |
int |
200 |
python |
27.1 |
27.1 |
0.0 |
7.2 |
lenny |
int |
200 |
osh_eval.opt.stripped |
181.4 |
127.3 |
54.1 |
143.7 |
lenny |
int |
200 |
bash |
217.5 |
205.6 |
11.8 |
3.5 |
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 |
43.2 |
29.2 |
14.6 |
6.7 |
flanders |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
587.6 |
520.8 |
67.3 |
171.6 |
flanders |
bubble_sort |
bytes |
200 |
bash |
787.0 |
783.1 |
4.4 |
3.3 |
flanders |
bubble_sort |
int |
200 |
python |
80.7 |
67.0 |
12.1 |
6.7 |
flanders |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
494.8 |
421.9 |
73.4 |
139.9 |
flanders |
bubble_sort |
int |
200 |
bash |
780.2 |
774.7 |
4.0 |
3.3 |
flanders |
fib |
200 |
44 |
python |
22.9 |
14.0 |
7.0 |
6.9 |
flanders |
fib |
200 |
44 |
dash |
55.3 |
55.3 |
0.0 |
1.7 |
flanders |
fib |
200 |
44 |
bash |
245.7 |
241.6 |
4.0 |
3.1 |
flanders |
fib |
200 |
44 |
osh_eval.opt.stripped |
297.1 |
249.5 |
47.5 |
99.7 |
flanders |
hello |
_ |
_ |
bash |
2.5 |
0.0 |
2.2 |
3.0 |
flanders |
hello |
_ |
_ |
osh_eval.opt.stripped |
3.2 |
0.0 |
3.2 |
4.1 |
flanders |
hello |
_ |
_ |
dash |
1.2 |
1.2 |
0.0 |
1.6 |
flanders |
hello |
_ |
_ |
python |
21.2 |
15.4 |
3.9 |
6.8 |
flanders |
palindrome |
bytes |
_ |
python |
42.7 |
35.5 |
7.7 |
7.1 |
flanders |
palindrome |
bytes |
_ |
bash |
518.1 |
498.6 |
20.0 |
3.3 |
flanders |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
794.8 |
648.2 |
144.4 |
232.1 |
flanders |
palindrome |
unicode |
_ |
python |
57.9 |
46.7 |
11.7 |
7.1 |
flanders |
palindrome |
unicode |
_ |
bash |
513.6 |
449.6 |
62.3 |
3.4 |
flanders |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
792.5 |
616.1 |
176.9 |
232.2 |
flanders |
parse_help |
ls |
_ |
bash |
44.3 |
44.4 |
0.0 |
3.6 |
flanders |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
60.0 |
44.6 |
15.7 |
10.7 |
flanders |
parse_help |
ls-short |
_ |
bash |
20.2 |
6.1 |
11.9 |
3.4 |
flanders |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
20.4 |
12.1 |
8.7 |
5.1 |
flanders |
parse_help |
mypy |
_ |
bash |
52.7 |
39.7 |
13.1 |
3.7 |
flanders |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
73.8 |
56.1 |
18.0 |
13.1 |
flanders |
word_freq |
10 |
configure |
python |
44.8 |
30.6 |
15.2 |
7.1 |
flanders |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
229.8 |
191.0 |
41.3 |
64.7 |
flanders |
word_freq |
10 |
configure |
bash |
299.8 |
285.9 |
20.0 |
3.4 |
lenny |
bubble_sort |
bytes |
200 |
python |
12.2 |
12.4 |
0.0 |
7.2 |
lenny |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
194.9 |
131.2 |
63.8 |
160.2 |
lenny |
bubble_sort |
bytes |
200 |
bash |
212.6 |
212.7 |
0.0 |
3.5 |
lenny |
bubble_sort |
int |
200 |
python |
27.1 |
27.1 |
0.0 |
7.2 |
lenny |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
181.4 |
127.3 |
54.1 |
143.7 |
lenny |
bubble_sort |
int |
200 |
bash |
217.5 |
205.6 |
11.8 |
3.5 |
lenny |
fib |
200 |
44 |
python |
7.0 |
0.0 |
6.7 |
7.3 |
lenny |
fib |
200 |
44 |
dash |
17.3 |
17.2 |
0.0 |
1.8 |
lenny |
fib |
200 |
44 |
bash |
61.8 |
61.7 |
0.0 |
3.4 |
lenny |
fib |
200 |
44 |
osh_eval.opt.stripped |
87.5 |
70.7 |
16.6 |
99.8 |
lenny |
hello |
_ |
_ |
dash |
0.4 |
0.4 |
0.0 |
1.7 |
lenny |
hello |
_ |
_ |
bash |
1.3 |
0.8 |
0.0 |
3.4 |
lenny |
hello |
_ |
_ |
osh_eval.opt.stripped |
1.1 |
1.0 |
0.0 |
4.1 |
lenny |
hello |
_ |
_ |
python |
6.2 |
6.0 |
0.0 |
7.1 |
lenny |
palindrome |
bytes |
_ |
python |
12.0 |
9.5 |
2.6 |
7.5 |
lenny |
palindrome |
bytes |
_ |
bash |
132.2 |
132.3 |
0.0 |
3.7 |
lenny |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
240.2 |
169.2 |
71.0 |
232.5 |
lenny |
palindrome |
unicode |
_ |
python |
13.9 |
4.5 |
9.4 |
7.6 |
lenny |
palindrome |
unicode |
_ |
bash |
146.8 |
144.2 |
2.6 |
3.5 |
lenny |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
239.9 |
177.2 |
62.7 |
232.4 |
lenny |
parse_help |
ls |
_ |
bash |
14.7 |
10.9 |
3.8 |
3.8 |
lenny |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
16.5 |
12.1 |
4.4 |
11.0 |
lenny |
parse_help |
ls-short |
_ |
bash |
5.9 |
5.0 |
0.0 |
3.8 |
lenny |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
4.9 |
5.0 |
0.0 |
5.3 |
lenny |
parse_help |
mypy |
_ |
bash |
18.3 |
13.4 |
4.9 |
3.9 |
lenny |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
25.2 |
25.3 |
0.0 |
13.4 |
lenny |
word_freq |
10 |
configure |
python |
14.8 |
6.0 |
9.7 |
7.5 |
lenny |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
72.9 |
48.3 |
25.5 |
64.9 |
lenny |
word_freq |
10 |
configure |
bash |
82.3 |
84.0 |
0.0 |
3.7 |