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
classes gen 0 0 19 0.000
loops gen 0 3 304 0.000
fib_iter gen 8 8 955 0.008
fib_recursive gen 7 7 891 0.008
modules gen 2 2 184 0.010
asdl_generated gen 5 7 382 0.014
scoped_resource gen 36 42 1,039 0.035
parse gen 30 23 806 0.038
containers gen 5 0 124 0.041
files gen 7 7 76 0.096
tuple_return_value gen 19 18 198 0.098
gc_stack_roots gen 2 2 12 0.151
length gen 41 45 201 0.205
cartesian gen 91 70 329 0.277
escape gen 102 91 348 0.294
cgi gen 250 264 515 0.486
varargs gen 31 24 25 1.225
control_flow gen 207 160 115 1.793
pea_hello gen NA NA 5 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.3 12.3 0.36
cartesian gen 3.5 3.7 8.5 0.42
fib_recursive gen 3.5 3.7 8.5 0.42
gc_stack_roots gen 3.5 3.5 8.5 0.42
cgi gen 3.5 3.5 8.4 0.42
parse gen 3.8 3.8 9.0 0.42
asdl_generated gen 3.7 3.7 8.5 0.43
escape gen 3.7 3.7 8.5 0.43
modules gen 3.7 3.8 8.5 0.43
tuple_return_value gen 3.7 3.8 8.4 0.44
scoped_resource gen 3.8 3.5 8.5 0.45
control_flow gen 3.8 3.8 8.4 0.45
fib_iter gen 3.8 3.5 8.4 0.45
files gen 3.8 3.8 8.4 0.45
loops gen 3.8 3.7 8.4 0.45
length gen 3.9 3.8 8.4 0.47
containers gen 28.6 28.4 49.1 0.58
varargs gen 5.5 5.5 8.4 0.66
pea_hello gen NA NA 8.0 NA

System Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
cartesian gen 0 16 12 0.000
fib_iter gen 0 0 8 0.000
files gen 0 0 8 0.000
gc_stack_roots gen 0 0 8 0.000
modules gen 0 0 12 0.000
classes gen 3 3 19 0.170
cgi gen 4 4 16 0.249
escape gen 4 12 12 0.328
length gen 4 0 12 0.342
asdl_generated gen 5 4 12 0.446
loops gen 4 0 8 0.459
containers gen 10 14 20 0.509
control_flow gen 4 4 8 0.510
varargs gen 35 41 54 0.636
fib_recursive gen 4 4 4 0.900
scoped_resource gen 12 4 4 3.003
parse gen 0 4 0 NA
pea_hello gen NA NA 14 NA
tuple_return_value gen 0 0 0 NA

raw benchmark files