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 1 1 188 0.005
fib_iter gen 7 6 896 0.007
fib_recursive gen 10 11 891 0.011
loops gen 4 2 300 0.012
asdl_generated gen 7 10 385 0.018
parse gen 28 25 780 0.036
scoped_resource gen 42 43 1,031 0.041
files gen 5 7 77 0.067
classes gen 2 2 30 0.069
containers gen 8 6 122 0.069
tuple_return_value gen 17 15 194 0.089
gc_stack_roots gen 2 2 11 0.153
length gen 42 40 219 0.193
cartesian gen 91 82 330 0.276
escape gen 101 102 359 0.282
cgi gen 265 268 541 0.490
varargs gen 17 15 22 0.761
control_flow gen 212 159 112 1.893
pea_hello gen NA NA 10 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
gc_stack_roots gen 3.5 3.7 8.5 0.42
parse gen 3.8 3.8 9.1 0.42
escape gen 3.5 3.7 8.4 0.42
cartesian gen 3.5 3.7 8.3 0.43
asdl_generated gen 3.7 3.5 8.4 0.44
cgi gen 3.7 3.7 8.4 0.44
tuple_return_value gen 3.7 3.7 8.4 0.44
modules gen 3.8 3.7 8.5 0.45
fib_iter gen 3.8 3.8 8.4 0.45
fib_recursive gen 3.8 3.7 8.4 0.45
files gen 3.8 3.9 8.4 0.45
length gen 3.8 3.7 8.4 0.45
scoped_resource gen 3.8 3.7 8.3 0.46
control_flow gen 3.9 3.9 8.5 0.46
loops gen 3.9 3.8 8.4 0.47
containers gen 28.8 28.9 49.2 0.58
varargs gen 5.6 5.5 8.4 0.67
pea_hello gen NA NA 8.3 NA

System Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
control_flow gen 0 2 9 0.000
gc_stack_roots gen 0 0 8 0.000
loops gen 0 1 7 0.000
modules gen 1 1 7 0.122
classes gen 1 1 8 0.130
fib_iter gen 1 1 7 0.135
fib_recursive gen 1 0 7 0.140
containers gen 3 4 21 0.150
parse gen 2 2 9 0.223
tuple_return_value gen 2 3 9 0.225
length gen 2 5 7 0.287
files gen 2 0 6 0.344
cartesian gen 4 4 10 0.402
asdl_generated gen 4 1 8 0.484
escape gen 4 1 8 0.501
cgi gen 5 1 9 0.556
varargs gen 22 24 31 0.722
scoped_resource gen 5 3 6 0.819
pea_hello gen NA NA 8 NA

raw benchmark files