ilovepi wrote: **This patch:** | Benchmark | Baseline (ns) | Experiment (ns) | Speedup | | :--- | :--- | :--- | :--- | | `LargeOutputString` | 8,926,576 | 591,254 | ~93% | | `StringRendering/Escaped` | 18,196,698 | 10,280,591 | ~44% | | `DeeplyNestedRendering` | 2,799 | 2,474 | ~12% | | `PartialsRendering` | 211,153,502 | 197,101,139 | ~7% | | `DeepTraversal` | 4,412,011 | 4,148,482 | ~6% | | `HugeArrayIteration` | 61,887,053 | 58,737,900 | ~5% |
**std::array<string,256>:** | Benchmark | Baseline (ns) | Experiment (ns) | Change | | :--- | :--- | :--- | :--- | | `StringRendering/Escaped` | 18,196,698 | 16,979,453 | ~7% faster | | `PartialsRendering` | 211,153,502 | 198,234,189 | ~6% faster | | `LargeOutputString` | 8,926,576 | 8,423,018 | ~6% faster | | `HugeArrayIteration` | 61,887,053 | 63,989,131 | ~3% slower | I didn't try combining them. Its not clear how we'd initialize the list of special escape characters in the stream, unless we assume you can't override them. Besides, we do many fewer lookups now, so IDK how worth it it is in practice. The Mustache generation is about 20% faster w/ this patch. That part is only a small fraction of the overall execution time, but it did a make a difference. https://github.com/llvm/llvm-project/pull/160166 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
