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
modules gen 0 2 192 0.000
fib_iter gen 8 8 895 0.009
fib_recursive gen 11 11 895 0.012
loops gen 4 3 294 0.013
asdl_generated gen 11 11 381 0.029
containers gen 4 4 133 0.032
parse gen 27 27 766 0.035
scoped_resource gen 44 45 1,037 0.043
files gen 8 4 81 0.093
classes gen 4 3 35 0.103
tuple_return_value gen 19 14 181 0.107
gc_stack_roots gen 2 2 16 0.114
length gen 32 43 209 0.155
cartesian gen 83 78 345 0.240
escape gen 101 87 352 0.288
cgi gen 268 250 527 0.509
varargs gen 16 15 28 0.582
control_flow gen 205 161 118 1.735
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.3 0.36
asdl_generated gen 3.5 3.7 8.5 0.42
parse gen 3.8 3.8 9.1 0.42
gc_stack_roots gen 3.5 3.5 8.4 0.42
cartesian gen 3.7 3.7 8.5 0.43
fib_iter gen 3.7 3.9 8.5 0.43
scoped_resource gen 3.7 3.8 8.5 0.43
cgi gen 3.7 3.7 8.4 0.44
escape gen 3.7 3.5 8.4 0.44
length gen 3.7 3.8 8.4 0.44
tuple_return_value gen 3.7 3.8 8.3 0.44
fib_recursive gen 3.8 3.7 8.5 0.45
files gen 3.8 3.8 8.5 0.45
loops gen 3.8 3.9 8.5 0.45
modules gen 3.8 3.5 8.5 0.45
control_flow gen 3.9 3.7 8.4 0.47
containers gen 28.4 28.5 49.2 0.58
varargs gen 5.5 5.4 8.5 0.65
pea_hello gen NA NA 8.1 NA

System Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
asdl_generated gen 0 0 8 0.000
cgi gen 0 4 8 0.000
classes gen 0 0 4 0.000
fib_iter gen 0 0 12 0.000
files gen 0 4 8 0.000
gc_stack_roots gen 0 0 4 0.000
loops gen 0 0 12 0.000
tuple_return_value gen 0 5 16 0.000
parse gen 4 0 20 0.190
escape gen 4 16 12 0.337
modules gen 2 0 4 0.485
scoped_resource gen 4 0 8 0.502
varargs gen 49 50 52 0.941
cartesian gen 8 8 8 0.985
control_flow gen 4 0 4 1.001
containers gen 13 11 12 1.049
length gen 12 4 8 1.509
fib_recursive gen 0 0 0 NA
pea_hello gen NA NA 8 NA

raw benchmark files