xamarin / binding-tools-for-swift

MIT License
157 stars 21 forks source link

add some basic parallelism to improve performance #799

Closed stephen-hawley closed 9 months ago

stephen-hawley commented 9 months ago

First cut on making aspects of BTfS parallelizable.

ErrorHandling and the *Inventory stack needed to be made thread-safe.

I made reflection and demangling async and changed how they're being invoked to run them in parallel. Across the entire suit of unit tests, this improves performance by about 7%.

I'm fairly certain that I can make the C# code generation parallel as well - but I'll do that in a separate PR.