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
varargs 0.0 3.3 0.000
modules 0.8 178.0 0.005
asdl_generated 3.3 359.3 0.009
loops 3.5 321.4 0.011
fib_recursive 10.0 877.6 0.011
fib_iter 10.1 812.1 0.012
scoped_resource 10.9 755.4 0.014
tuple_return_value 2.9 110.6 0.026
classes 1.7 19.1 0.091
strings 0.9 7.8 0.118
cgi 70.3 472.3 0.149
containers 16.5 101.1 0.163
escape 61.7 331.3 0.186
length 31.6 156.0 0.203

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
fib_recursive 2.9 7.5 0.38
loops 3.0 7.8 0.39
varargs 3.0 7.5 0.40
tuple_return_value 3.0 7.5 0.40
asdl_generated 3.1 7.5 0.41
scoped_resource 3.1 7.6 0.41
modules 3.1 7.5 0.41
strings 3.1 7.5 0.42
fib_iter 3.2 7.6 0.42
length 3.2 7.6 0.42
classes 3.3 7.7 0.43
cgi 3.3 7.4 0.45
escape 3.4 7.4 0.46
containers 36.1 48.1 0.75

TODO