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
classes 0.0 42.6 0.000
modules 2.3 327.9 0.007
fib_iter 17.5 1,215.8 0.014
asdl_generated 10.5 627.9 0.017
scoped_resource 23.0 1,298.9 0.018
fib_recursive 25.8 1,422.3 0.018
loops 10.6 518.3 0.020
tuple_return_value 5.2 204.5 0.025
cgi 102.7 791.3 0.130
strings 2.4 14.1 0.169
varargs 3.1 16.5 0.185
escape 113.6 530.1 0.214
length 62.7 275.8 0.227
containers 57.2 156.2 0.367

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
modules 2.9 7.5 0.39
strings 2.9 7.6 0.39
tuple_return_value 3.0 7.5 0.39
loops 3.0 7.7 0.39
fib_iter 3.0 7.5 0.41
scoped_resource 3.0 7.5 0.41
varargs 3.1 7.6 0.41
length 3.2 7.6 0.42
cgi 3.1 7.4 0.42
classes 3.4 7.8 0.43
asdl_generated 3.2 7.4 0.43
escape 3.4 7.3 0.46
containers 36.2 47.9 0.75

TODO