Uh oh!
There was an error while loading. Please reload this page.
[3.0] Improve generator performance - #2567
Conversation
These were written before I installed the CSharpier plugin so they were not formatted.
GetTypeInfo should be unnecessary since it gets the type of an expression. For non-type expressions (eg: `5` is an int), this isn't useful for us. This is arguably an indirect reference to int, but the current Silk generator only cares about modifying direct references. For type expressions (eg: `int` refers to int), GetSymbolInfo will also return the same symbol.
*Roslyn already caches this internally. This is mainly for avoiding the async method call. Difference is probably not measurable, but theoretically this is faster.
Conflict checking was O(n), now it is O(1).
This is to prevent false negatives from mismatched path formats.
a934c2b to
878a90fCompare(cherry picked from commit 8cf1324)
(cherry picked from commit 2c48fb6)
(cherry picked from commit 6b12c69)
(cherry picked from commit 66d0daa)
…sync This change caused incorrect behavior since the document ids can come from projects other than the source project (namely the test project). This broken when semantic models were requested for test project documents from the source project compilation.
9ab6f5b to
07e05f0CompareThis reverts commit 364015d.
Exanite
left a comment
There was a problem hiding this comment.
Self code review complete. My review comments point out why things are changed, but the code should make sense without them.
I've also regenerated the bindings using Windows to verify that no output changes have occurred.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary of the PR
This branch will be where I investigate performance improvements to the Silk 3.0 bindings generator.
Related issues, Discord discussions, or proposals
Discord thread for discussing development: https://discord.com/channels/521092042781229087/1493337581805371432
Further Comments
Tasks
Update ClangSharpNormalizeWhitespacecalls where possibleContainsAnycalls, particularly when called byTryParseNativeTypeName. This shows up as a hotspot during profiling.Consider removingModCSharpSyntaxRewriter