Hi, interesting question! After testing, I don't know if #2747 is still beneficial or not (whereas this would have been obvious before). It looks to me like you could safely remove it if you wanted to.
Our changes superficially have nothing to do with each other, but this `UniqueStringSet` was previously named `FontNames`, so my guess is that an explosion of duplicate font-related data was the main reason for `SCI_TEXTHEIGHT` being expensive.
Here's an unscientific test where I ran `time geany` 5 times (on my laptop, while spamming ctrl-q), and averaged. So don't believe the table's precise-to-the-millisecond numbers. ;) When I say "no 2747", I mean I reverted its commits via `git diff 01604687a e027e240c279040c2f6bc9ea0aaccc2cac2ca94e | patch -p1 -R`.
| | master | no-2747 | no-2883 | neither | |------|--------|---------|---------|---------| | #1 | 2.718 | 2.781 | 9.310 | 26.806 | | #2 | 2.701 | 2.861 | 9.663 | 34.792 | | #3 | 2.638 | 2.567 | 9.336 | 34.179 | | #4 | 2.644 | 2.618 | 9.396 | 34.625 | | #5 | 2.670 | 2.889 | 12.187 | 34.638 | | mean | 2.674 | 2.743 | 9.978 | 33.008 |
Those startup times before #2747 look really painful. Nice work getting them under control, even if you decide against that approach in the end. :)