Skip to content
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

Merged
merged 32 commits into from
Sep 13, 2024

Conversation

peter-r-g
Copy link
Contributor

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.

@xezno xezno self-requested a review September 13, 2024 14:09
Copy link
Member

@xezno xezno left a 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!

@xezno xezno merged commit 09dbdb3 into mocha-engine:master Sep 13, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants