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
files gen 0 7 69 0.000
fib_iter gen 4 8 895 0.004
fib_recursive gen 7 11 888 0.008
modules gen 2 2 190 0.010
loops gen 4 0 308 0.012
asdl_generated gen 11 11 394 0.027
scoped_resource gen 40 46 1,029 0.039
parse gen 31 23 783 0.039
containers gen 8 4 131 0.060
tuple_return_value gen 15 18 192 0.079
classes gen 3 3 31 0.105
gc_stack_roots gen 2 2 17 0.108
length gen 33 34 213 0.154
cartesian gen 79 78 330 0.240
escape gen 97 101 359 0.272
cgi gen 271 266 511 0.529
varargs gen 27 20 40 0.675
control_flow gen 205 157 110 1.856
pea_hello gen NA NA 8 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.3 4.6 12.3 0.35
gc_stack_roots gen 3.4 3.4 8.4 0.41
cartesian gen 3.5 3.5 8.4 0.42
cgi gen 3.5 3.7 8.4 0.42
asdl_generated gen 3.7 3.5 8.5 0.43
fib_recursive gen 3.7 3.8 8.5 0.43
parse gen 3.9 3.8 9.1 0.43
escape gen 3.7 3.5 8.4 0.44
tuple_return_value gen 3.7 3.8 8.4 0.44
control_flow gen 3.8 3.7 8.5 0.45
loops gen 3.8 3.8 8.5 0.45
modules gen 3.8 3.7 8.5 0.45
fib_iter gen 3.8 3.8 8.4 0.45
files gen 3.8 3.8 8.4 0.45
length gen 3.8 3.8 8.4 0.45
scoped_resource gen 3.8 3.7 8.4 0.45
containers gen 28.6 28.6 49.1 0.58
varargs gen 5.4 5.6 8.4 0.64
pea_hello gen NA NA 8.1 NA

System Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
cgi gen 0 0 12 0.000
classes gen 0 0 8 0.000
gc_stack_roots gen 0 0 4 0.000
loops gen 0 3 4 0.000
modules gen 0 0 8 0.000
control_flow gen 4 4 12 0.340
fib_recursive gen 4 0 8 0.451
tuple_return_value gen 4 0 8 0.474
fib_iter gen 4 0 8 0.482
files gen 7 0 15 0.485
containers gen 8 11 12 0.655
varargs gen 39 45 40 0.965
scoped_resource gen 8 0 8 1.004
cartesian gen 12 8 8 1.493
length gen 12 11 8 1.529
escape gen 8 4 4 2.036
asdl_generated gen 0 0 0 NA
parse gen 0 4 0 NA
pea_hello gen NA NA 12 NA

raw benchmark files