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 6.5 0.000
modules 0.9 182.7 0.005
fib_iter 6.5 810.4 0.008
asdl_generated 3.1 346.2 0.009
loops 3.5 317.6 0.011
fib_recursive 10.0 862.7 0.012
tuple_return_value 3.0 106.5 0.028
scoped_resource 27.5 755.7 0.036
classes 1.8 17.2 0.102
strings 1.0 9.2 0.110
containers 12.2 107.9 0.113
cgi 70.4 463.3 0.152
escape 57.4 325.4 0.177
length 31.7 155.1 0.205

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
strings 2.9 7.5 0.39
loops 3.1 7.8 0.39
modules 3.0 7.6 0.40
fib_iter 2.9 7.3 0.40
scoped_resource 3.0 7.4 0.41
tuple_return_value 3.0 7.4 0.41
fib_recursive 3.1 7.4 0.41
escape 3.0 7.3 0.41
asdl_generated 3.1 7.4 0.42
length 3.3 7.6 0.44
varargs 3.3 7.4 0.44
classes 3.4 7.7 0.44
cgi 3.3 7.4 0.45
containers 36.2 48.0 0.75

TODO