Measure the speedup from mycpp, and the resource usage.
Source code: oil/mycpp/examples
Lower ratios are better.
| example name | gen | C++ | C++-Souffle | Python | C++ : Python |
| classes | gen | 0 | 0 | 19 | 0.000 |
| loops | gen | 0 | 2 | 215 | 0.000 |
| fib_iter | gen | 5 | 5 | 620 | 0.009 |
| modules | gen | 2 | 2 | 139 | 0.011 |
| fib_recursive | gen | 8 | 8 | 623 | 0.013 |
| asdl_generated | gen | 8 | 4 | 266 | 0.030 |
| scoped_resource | gen | 27 | 29 | 741 | 0.036 |
| parse | gen | 22 | 19 | 544 | 0.040 |
| files | gen | 5 | 5 | 58 | 0.090 |
| tuple_return_value | gen | 14 | 13 | 142 | 0.096 |
| containers | gen | 9 | 4 | 79 | 0.110 |
| length | gen | 27 | 32 | 153 | 0.178 |
| cartesian | gen | 56 | 56 | 246 | 0.227 |
| gc_stack_roots | gen | 2 | 1 | 7 | 0.231 |
| escape | gen | 75 | 65 | 254 | 0.296 |
| cgi | gen | 190 | 186 | 369 | 0.514 |
| varargs | gen | 21 | 17 | 20 | 1.038 |
| control_flow | gen | 149 | 114 | 79 | 1.885 |
| pea_hello | gen | NA | NA | 8 | NA |
Lower ratios are better. We use MB (powers of 10), not MiB (powers of 2).
| example name | gen | C++ | C++-Souffle | Python | C++ : Python |
| classes | gen | 4.5 | 4.5 | 12.2 | 0.37 |
| gc_stack_roots | gen | 3.6 | 3.6 | 8.6 | 0.42 |
| asdl_generated | gen | 3.7 | 3.7 | 8.7 | 0.42 |
| parse | gen | 3.9 | 3.9 | 9.2 | 0.42 |
| cgi | gen | 3.7 | 3.7 | 8.5 | 0.43 |
| escape | gen | 3.7 | 3.7 | 8.6 | 0.43 |
| modules | gen | 3.8 | 3.8 | 8.7 | 0.43 |
| cartesian | gen | 3.7 | 3.7 | 8.5 | 0.43 |
| scoped_resource | gen | 3.8 | 3.8 | 8.6 | 0.44 |
| fib_iter | gen | 3.8 | 3.9 | 8.7 | 0.44 |
| length | gen | 3.8 | 3.8 | 8.6 | 0.44 |
| tuple_return_value | gen | 3.8 | 3.8 | 8.7 | 0.44 |
| loops | gen | 3.8 | 3.8 | 8.6 | 0.44 |
| fib_recursive | gen | 3.8 | 3.8 | 8.6 | 0.44 |
| files | gen | 3.8 | 3.8 | 8.6 | 0.45 |
| control_flow | gen | 3.9 | 3.9 | 8.7 | 0.45 |
| containers | gen | 28.5 | 28.5 | 49.2 | 0.58 |
| varargs | gen | 5.6 | 5.7 | 8.5 | 0.66 |
| pea_hello | gen | NA | NA | 8.3 | NA |
Lower ratios are better.
| example name | gen | C++ | C++-Souffle | Python | C++ : Python |
| asdl_generated | gen | 0 | 4 | 4 | 0.000 |
| cgi | gen | 0 | 4 | 8 | 0.000 |
| control_flow | gen | 0 | 0 | 8 | 0.000 |
| fib_iter | gen | 0 | 0 | 8 | 0.000 |
| fib_recursive | gen | 0 | 0 | 8 | 0.000 |
| gc_stack_roots | gen | 0 | 0 | 7 | 0.000 |
| modules | gen | 0 | 0 | 12 | 0.000 |
| parse | gen | 0 | 0 | 12 | 0.000 |
| containers | gen | 4 | 15 | 28 | 0.157 |
| classes | gen | 3 | 3 | 8 | 0.338 |
| varargs | gen | 25 | 29 | 36 | 0.692 |
| loops | gen | 3 | 0 | 4 | 0.730 |
| length | gen | 4 | 0 | 4 | 0.989 |
| scoped_resource | gen | 8 | 4 | 4 | 1.904 |
| cartesian | gen | 8 | 4 | 4 | 1.974 |
| escape | gen | 0 | 8 | 0 | NA |
| files | gen | 0 | 0 | 0 | NA |
| pea_hello | gen | NA | NA | 4 | NA |
| tuple_return_value | gen | 0 | 0 | 0 | NA |