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
strings 0.0 8.8 0.000
classes 23.1 28.9 0.797
loops 344.5 349.5 0.986
asdl_generated 384.3 389.0 0.988
modules 224.7 226.8 0.991
escape 383.7 386.1 0.994
scoped_resource 880.5 883.7 0.996
length 189.2 189.9 0.996
cgi 563.9 562.8 1.002
fib_recursive 1,000.8 997.7 1.003
tuple_return_value 138.9 135.4 1.026
fib_iter 898.4 853.5 1.053
containers 134.6 122.1 1.102
varargs 8.1 4.4 1.837

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
scoped_resource 7.0 7.2 0.97
modules 7.0 7.1 0.99
classes 7.3 7.3 1.00
fib_recursive 7.0 7.0 1.00
fib_iter 7.0 7.0 1.00
escape 7.0 7.0 1.00
containers 47.6 47.6 1.00
tuple_return_value 7.1 7.1 1.00
cgi 7.0 7.0 1.00
varargs 7.0 7.0 1.00
strings 7.1 7.1 1.00
asdl_generated 7.0 7.0 1.00
length 7.0 7.0 1.00
loops 7.3 7.2 1.01

TODO