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 C++ Python C++ : Python
loops 0.0 346.4 0.000
modules 0.9 229.7 0.004
fib_iter 6.2 840.5 0.007
scoped_resource 6.6 878.9 0.007
fib_recursive 12.8 1,010.7 0.013
asdl_generated 8.1 385.7 0.021
tuple_return_value 3.8 139.6 0.027
parse 99.7 1,772.3 0.056
classes 1.9 33.1 0.057
containers 7.3 125.1 0.058
files 19.7 81.5 0.242
cgi 140.0 568.4 0.246
escape 224.3 378.1 0.593
cartesian 488.1 728.9 0.670
length 166.9 208.1 0.802
control_flow 222.9 143.3 1.555

Max Resident Set Size (MB)

Lower ratios are better. We use MB (powers of 10), not MiB (powers of 2).

example name C++ Python C++ : Python
containers 14.8 47.5 0.31
tuple_return_value 2.6 7.0 0.37
fib_iter 2.6 6.9 0.38
fib_recursive 2.7 6.9 0.40
scoped_resource 2.8 7.0 0.40
loops 2.8 7.1 0.40
classes 2.9 7.2 0.40
modules 2.8 7.0 0.40
asdl_generated 18.5 6.9 2.69
files 23.0 7.1 3.26
control_flow 29.9 6.9 4.32
parse 137.1 7.6 17.99
cgi 130.7 6.8 19.19
length 162.6 6.8 23.75
escape 271.5 6.8 39.73
cartesian 610.6 6.9 89.01

TODO