glslang-zig/glslang/MachineIndependent/preprocessor
John Kessenich 907aabb6b0 PP: Non-functional: Only use string <-> atom mapping when needed.
Also, eliminate the 'atom' field of TPpToken.

Parsing a real 300 line shader, through to making the AST, is about 10% faster.

Memory is slightly reduced (< 1%).

The whole google-test suite, inclusive of all testing overhead, SPIR-V generation,
etc., runs 3% faster.

Since this is a code *simplification* that leads to perf. improvement, I'm not
going to invest too much more in measuring the perf. than this. The PP code is
simply now in a better state to see how to further rationalize/improve it.
2016-12-20 23:36:05 -07:00
..
Pp.cpp PP: Non-functional: Only use string <-> atom mapping when needed. 2016-12-20 23:36:05 -07:00
PpAtom.cpp PP: Non-functional: Only use string <-> atom mapping when needed. 2016-12-20 23:36:05 -07:00
PpContext.cpp PP: Non-functional: Remove custom allocator and related improvements. 2016-12-19 21:57:06 -07:00
PpContext.h PP: Non-functional: Only use string <-> atom mapping when needed. 2016-12-20 23:36:05 -07:00
PpMemory.cpp PP: Non-functional: Remove custom allocator and related improvements. 2016-12-19 21:57:06 -07:00
PpScanner.cpp PP: Non-functional: Only use string <-> atom mapping when needed. 2016-12-20 23:36:05 -07:00
PpSymbols.cpp PP: Non-functional: clean up, simplify, completely identical operation. 2016-12-20 18:36:49 -07:00
PpTokens.cpp PP: Non-functional: Only use string <-> atom mapping when needed. 2016-12-20 23:36:05 -07:00
PpTokens.h PP: Non-functional: Only use string <-> atom mapping when needed. 2016-12-20 23:36:05 -07:00