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.8 183.1 0.004
fib_iter 6.2 808.1 0.008
asdl_generated 3.2 368.4 0.009
loops 3.4 315.5 0.011
fib_recursive 9.8 853.4 0.011
scoped_resource 10.9 749.8 0.015
tuple_return_value 2.9 108.0 0.026
classes 1.8 24.2 0.075
cgi 70.6 478.9 0.147
escape 61.4 325.4 0.189
length 31.5 166.5 0.189
containers 23.7 111.8 0.212
varargs 2.6 3.1 0.821
strings 0.0 0.0 NA

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.6 0.38
fib_recursive 2.9 7.3 0.39
scoped_resource 3.0 7.5 0.39
modules 3.0 7.5 0.40
tuple_return_value 3.1 7.6 0.41
fib_iter 3.0 7.4 0.41
varargs 3.2 7.6 0.42
loops 3.2 7.7 0.42
classes 3.3 7.8 0.42
length 3.2 7.4 0.42
cgi 3.3 7.6 0.43
escape 3.2 7.3 0.44
asdl_generated 3.3 7.4 0.44
containers 36.2 48.1 0.75

TODO