-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
InteropGen Refactor #64
InteropGen Refactor #64
Conversation
This reverts commit 1f214e7.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some cool stuff here! Never knew about FrozenDictionary before - I assume it's faster than ImmutableDictionary and ReadOnlyDictionary.
We should probably remove the paths that we have hard-coded as fallbacks for missing environment variables - we should probably throw an error if these aren't available, especially in the case of Vulkan where the path depends on the version number - but I believe I was the one that wrote that code originally so I'll fix that after merging.
Some really cool work overall though. This has reduced the InteropGen execution time from ~7 seconds to around half that, thank you!
This PR refactors a majority of the code in the InteropGen project. Functionally there is no difference. Performance-wise it takes roughly less than half as long to do the generation. In my few tests, it goes from about 12-15 seconds to 6-7. Almost all of the time is spent in Clang now.