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
modules 0.0 222.7 0.00
tuple_return_value 0.0 126.4 0.00
fib_recursive 7.8 971.1 0.01
scoped_resource 9.1 823.1 0.01
fib_iter 9.3 740.5 0.01
loops 6.0 333.2 0.02
containers 10.8 124.8 0.09
parse 560.5 1,697.3 0.33
asdl_generated 86.4 232.5 0.37
cgi 512.6 526.3 0.97
files 104.7 88.5 1.18
escape 881.7 379.7 2.32
control_flow 307.4 117.7 2.61
cartesian 1,924.4 696.4 2.76
length 626.4 180.3 3.47
classes 731.6 35.2 20.79

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 33.1 47.5 0.7
scoped_resource 6.4 7.1 0.9
tuple_return_value 6.3 7.0 0.9
fib_iter 6.3 6.9 0.9
fib_recursive 6.3 7.0 0.9
modules 6.4 7.0 0.9
loops 6.7 7.2 0.9
asdl_generated 42.1 6.9 6.1
files 45.0 7.1 6.4
control_flow 63.3 6.9 9.1
cgi 150.3 6.9 21.7
parse 187.1 7.5 25.0
length 276.8 7.1 39.2
escape 422.4 6.9 61.0
cartesian 924.6 6.9 134.8
classes 2,263.1 7.2 312.3