v8 (before v5.9) used to only inline functions that were under 600 characters (and 196 AST nodes). That was another fun way to add fuel to the tab vs. spaces fire: identical functions that used spaces instead of tabs could run significantly slower because they weren't inlined.
I'd really like to see a comparison with clang's inliner. In my cases [1] gcc constexpr support was always horrible and clang decent. So I'm not sure if using the builtin assembler would fix the gcc situation.<p>1: <a href="https://github.com/rurban/safeclib/blob/master/tests/perf_memcpy_s.c" rel="nofollow">https://github.com/rurban/safeclib/blob/master/tests/perf_me...</a>