mycpp Code Generation

Measure the speedup from mycpp, and the resource usage.

Source code: oil/mycpp/examples

User Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
asdl_generated gen 0 8 385 0.000
classes gen 0 0 36 0.000
fib_iter gen 8 8 895 0.009
modules gen 2 0 190 0.010
fib_recursive gen 11 7 888 0.012
loops gen 4 3 300 0.015
parse gen 27 24 774 0.034
scoped_resource gen 44 46 1,024 0.043
files gen 4 8 77 0.049
tuple_return_value gen 20 18 190 0.103
gc_stack_roots gen 2 0 16 0.112
containers gen 16 14 108 0.150
length gen 49 46 222 0.222
cartesian gen 79 82 355 0.223
escape gen 105 91 347 0.304
varargs gen 4 8 12 0.359
cgi gen 269 267 527 0.511
control_flow gen 206 163 111 1.860
pea_hello gen NA NA 9 NA

Max Resident Set Size (MB)

Lower ratios are better. We use MB (powers of 10), not MiB (powers of 2).

example name gen C++ C++-Souffle Python C++ : Python
classes gen 4.5 4.5 12.5 0.36
cgi gen 3.5 3.8 8.5 0.42
gc_stack_roots gen 3.5 3.4 8.5 0.42
parse gen 3.8 3.5 9.1 0.42
asdl_generated gen 3.5 3.5 8.4 0.42
cartesian gen 3.5 3.7 8.4 0.42
escape gen 3.5 3.7 8.4 0.42
loops gen 3.5 3.8 8.4 0.42
modules gen 3.7 3.7 8.5 0.43
scoped_resource gen 3.7 3.8 8.4 0.44
control_flow gen 3.8 3.8 8.5 0.45
fib_iter gen 3.8 3.7 8.5 0.45
fib_recursive gen 3.8 3.8 8.5 0.45
files gen 3.8 3.8 8.5 0.45
tuple_return_value gen 3.8 3.8 8.5 0.45
length gen 3.8 3.8 8.4 0.45
containers gen 28.5 28.6 49.0 0.58
varargs gen 5.5 5.5 8.5 0.65
pea_hello gen NA NA 8.3 NA

System Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
cgi gen 0 0 4 0.000
containers gen 0 0 36 0.000
control_flow gen 0 0 12 0.000
escape gen 0 12 16 0.000
fib_recursive gen 0 4 12 0.000
gc_stack_roots gen 0 2 4 0.000
loops gen 0 0 8 0.000
modules gen 0 2 8 0.000
tuple_return_value gen 0 0 12 0.000
scoped_resource gen 4 0 12 0.334
files gen 4 0 8 0.467
parse gen 4 4 8 0.478
classes gen 3 3 4 0.839
varargs gen 62 58 69 0.897
length gen 8 0 8 0.939
asdl_generated gen 11 4 8 1.373
cartesian gen 12 4 4 2.973
fib_iter gen 0 0 0 NA
pea_hello gen NA NA 9 NA

raw benchmark files