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.0 180.8 0.000
fib_iter 6.3 715.3 0.009
fib_recursive 10.4 875.3 0.012
loops 4.9 338.7 0.015
scoped_resource 16.7 758.0 0.022
tuple_return_value 4.7 103.0 0.046
asdl_generated 28.7 352.1 0.081
classes 3.7 20.9 0.179
containers 22.8 113.7 0.201
cgi 200.1 471.2 0.425
escape 205.4 323.0 0.636
varargs 2.7 3.2 0.817
length 148.3 145.8 1.017
strings 0.8 0.0 inf

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
classes 4.3 11.2 0.39
strings 2.9 7.6 0.39
asdl_generated 2.9 7.4 0.39
fib_recursive 3.0 7.4 0.40
varargs 3.1 7.5 0.41
scoped_resource 3.1 7.5 0.41
modules 3.1 7.4 0.41
fib_iter 3.1 7.3 0.42
tuple_return_value 3.2 7.5 0.42
loops 3.2 7.7 0.42
cgi 3.2 7.4 0.43
escape 3.2 7.4 0.43
containers 27.4 48.1 0.57
length 11.4 7.4 1.54

TODO