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 9 381 0.000
fib_iter gen 4 8 895 0.004
modules gen 2 0 186 0.010
loops gen 4 3 310 0.012
fib_recursive gen 11 11 891 0.012
parse gen 27 19 780 0.034
scoped_resource gen 47 46 1,050 0.045
tuple_return_value gen 15 18 190 0.081
classes gen 3 3 35 0.093
files gen 7 8 77 0.095
containers gen 12 7 97 0.120
gc_stack_roots gen 2 2 12 0.149
length gen 43 41 211 0.201
cartesian gen 91 84 329 0.277
escape gen 102 100 355 0.287
cgi gen 268 265 523 0.514
varargs gen 19 8 28 0.695
control_flow gen 210 154 118 1.778
pea_hello gen NA NA 11 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
gc_stack_roots gen 3.4 3.4 8.4 0.41
fib_iter gen 3.5 3.9 8.5 0.42
asdl_generated gen 3.7 3.5 8.5 0.43
cartesian gen 3.7 3.5 8.5 0.43
tuple_return_value gen 3.7 3.8 8.5 0.43
parse gen 3.9 3.7 9.1 0.43
cgi gen 3.7 3.5 8.4 0.44
escape gen 3.7 3.7 8.4 0.44
length gen 3.7 3.8 8.4 0.44
loops gen 3.8 3.9 8.7 0.44
modules gen 3.8 3.8 8.7 0.44
files gen 3.8 3.8 8.5 0.45
scoped_resource gen 3.8 3.8 8.5 0.45
fib_recursive gen 3.8 3.7 8.4 0.45
control_flow gen 3.9 3.9 8.5 0.46
containers gen 28.4 28.6 48.9 0.58
varargs gen 5.5 5.5 8.4 0.66
pea_hello gen NA NA 8.1 NA

System Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
cartesian gen 0 0 12 0.000
cgi gen 0 4 8 0.000
classes gen 0 0 4 0.000
control_flow gen 0 8 8 0.000
fib_recursive gen 0 0 8 0.000
files gen 0 0 8 0.000
gc_stack_roots gen 0 0 8 0.000
loops gen 0 0 4 0.000
modules gen 0 2 12 0.000
scoped_resource gen 0 0 8 0.000
containers gen 4 7 49 0.080
fib_iter gen 4 0 12 0.313
tuple_return_value gen 4 0 12 0.323
parse gen 4 8 8 0.474
length gen 4 4 8 0.485
escape gen 4 4 8 0.491
varargs gen 47 58 52 0.898
asdl_generated gen 11 3 12 0.910
pea_hello gen NA NA 7 NA

raw benchmark files