<p></p>
<p>Hi, interesting question! After testing, I don't know if <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="802642470" data-permission-text="Title is private" data-url="https://github.com/geany/geany/issues/2747" data-hovercard-type="pull_request" data-hovercard-url="/geany/geany/pull/2747/hovercard" href="https://github.com/geany/geany/pull/2747">#2747</a> 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.</p>
<p>Our changes superficially have nothing to do with each other, but this <code>UniqueStringSet</code> was previously named <code>FontNames</code>, so my guess is that an explosion of duplicate font-related data was the main reason for <code>SCI_TEXTHEIGHT</code> being expensive.</p>
<p>Here's an unscientific test where I ran <code>time geany</code> 5 times (on my laptop, while spamming ctrl-q), and averaged. So don't believe the table's precise-to-the-millisecond numbers. ;)<br>
When I say "no 2747", I mean I reverted its commits via <code>git diff 01604687a e027e240c279040c2f6bc9ea0aaccc2cac2ca94e | patch -p1 -R</code>.</p>
<table role="table">
<thead>
<tr>
<th></th>
<th>master</th>
<th>no-2747</th>
<th>no-2883</th>
<th>neither</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1860207" data-permission-text="Title is private" data-url="https://github.com/geany/geany/issues/1" data-hovercard-type="pull_request" data-hovercard-url="/geany/geany/pull/1/hovercard" href="https://github.com/geany/geany/pull/1">#1</a></td>
<td>2.718</td>
<td>2.781</td>
<td>9.310</td>
<td>26.806</td>
</tr>
<tr>
<td><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1869766" data-permission-text="Title is private" data-url="https://github.com/geany/geany/issues/2" data-hovercard-type="pull_request" data-hovercard-url="/geany/geany/pull/2/hovercard" href="https://github.com/geany/geany/pull/2">#2</a></td>
<td>2.701</td>
<td>2.861</td>
<td>9.663</td>
<td>34.792</td>
</tr>
<tr>
<td><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1870603" data-permission-text="Title is private" data-url="https://github.com/geany/geany/issues/3" data-hovercard-type="pull_request" data-hovercard-url="/geany/geany/pull/3/hovercard" href="https://github.com/geany/geany/pull/3">#3</a></td>
<td>2.638</td>
<td>2.567</td>
<td>9.336</td>
<td>34.179</td>
</tr>
<tr>
<td><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1883601" data-permission-text="Title is private" data-url="https://github.com/geany/geany/issues/4" data-hovercard-type="pull_request" data-hovercard-url="/geany/geany/pull/4/hovercard" href="https://github.com/geany/geany/pull/4">#4</a></td>
<td>2.644</td>
<td>2.618</td>
<td>9.396</td>
<td>34.625</td>
</tr>
<tr>
<td><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1885233" data-permission-text="Title is private" data-url="https://github.com/geany/geany/issues/5" data-hovercard-type="pull_request" data-hovercard-url="/geany/geany/pull/5/hovercard" href="https://github.com/geany/geany/pull/5">#5</a></td>
<td>2.670</td>
<td>2.889</td>
<td>12.187</td>
<td>34.638</td>
</tr>
<tr>
<td>mean</td>
<td>2.674</td>
<td>2.743</td>
<td>9.978</td>
<td>33.008</td>
</tr>
</tbody>
</table>
<p>Those startup times before <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="802642470" data-permission-text="Title is private" data-url="https://github.com/geany/geany/issues/2747" data-hovercard-type="pull_request" data-hovercard-url="/geany/geany/pull/2747/hovercard" href="https://github.com/geany/geany/pull/2747">#2747</a> look really painful. Nice work getting them under control, even if you decide against that approach in the end. :)</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/issues/2883#issuecomment-912845473">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAIOWJ4WBT3K3P2Y3KPFLV3UAFEKJANCNFSM5DGZM2EA">unsubscribe</a>.<br />Triage notifications on the go with GitHub Mobile for <a href="https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675">iOS</a> or <a href="https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub">Android</a>.
<img src="https://github.com/notifications/beacon/AAIOWJ4MBFJA77LG5OZMD6DUAFEKJA5CNFSM5DGZM2EKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGZUOVII.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/issues/2883#issuecomment-912845473",
"url": "https://github.com/geany/geany/issues/2883#issuecomment-912845473",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>