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
fib_recursive 88.5 990.6 0.089
scoped_resource 76.1 835.1 0.091
fib_iter 88.0 799.8 0.110
loops 76.2 338.6 0.225
asdl_generated 99.7 364.0 0.274
modules 76.4 215.3 0.355
cgi 222.8 537.2 0.415
escape 292.1 412.1 0.709
containers 100.3 141.6 0.709
tuple_return_value 91.2 124.9 0.731
cartesian 552.6 717.1 0.771
files 79.6 94.7 0.841
length 216.1 182.6 1.183
classes 95.9 39.3 2.441

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 853.9 47.6 17.92
classes 841.8 7.3 115.14
loops 841.7 7.2 116.50
scoped_resource 841.6 7.1 119.05
fib_recursive 841.6 7.0 120.87
modules 841.6 7.0 120.93
fib_iter 841.5 7.0 121.06
tuple_return_value 841.5 6.9 121.28
asdl_generated 841.5 6.9 121.56
files 861.7 7.1 122.10
cgi 969.5 6.9 139.56
length 1,001.5 7.0 143.24
escape 1,104.0 6.9 159.02
cartesian 1,424.1 6.9 206.71

TODO