perf: Avoid some unnecessary string copies #51
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TypeDoc@future is using Shiki now for highlighting, and while profiling I noticed that >50% of the runtime in a moderately sized project was spent highlighting code comments. ~60% of this time was spent in node internals, which I deduced was the
substring
calls here.Unfortunately, due to the existing API contract requiring that the same string be included several times, it isn't possible to completely eliminate this overhead... but I was able to reduce the runtime by ~20% by making these changes. There is still lots of room for improvement. I think the runtime can be cut in half if less information is returned (I don't need all that this gives... maybe I should just be using vscode-textmate directly)