L2Program/FlintPlusPlus — pull request #23 by kanielc (2014-05-14 02:40:47+00:00)
Title: Use StringFragment to avoid creating new strings

- Use StringFragment as the result of the munch functions.
- append to string directly from the StringFragment as opposed to converting to string.

This worked out really nicely in terms of cutting down the amount of computation. Chopped over 20% of the instructions according to valgrind (running against folly+gtest+double_conversion).

Can now process all that in 2.259 s, versus the 3.7 for Facebook's C++ Flint.

Had to replace a macro with an inline function to take advantage of templates.