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

Improve performance in argument unpacking #1838

Merged
merged 2 commits into from
Dec 13, 2024
Merged

Conversation

slozier
Copy link
Contributor

@slozier slozier commented Dec 11, 2024

Resolves #1518

@slozier slozier marked this pull request as ready for review December 12, 2024 14:40
@BCSharp
Copy link
Member

BCSharp commented Dec 12, 2024

A few observations: this is changing the public API. Any concerns?

I assume it need not be thread-safe, am I right?

@slozier
Copy link
Contributor Author

slozier commented Dec 12, 2024

Technically the public APIs that changed are meant for the consumption by generated expression code. So I'm not too worried about changing them. Maybe they would end up in the DLLs of compiled modules? But I'm not too worried about it. I think we already broke some of these "public" APIs since the 3.4.1 release by adding CodeContext arguments.

I don't think thread-safety is an issue? Based on my (limited) understanding of these meta objects it's just generating an expression tree that transforms the given arguments to match the function signature. The whole thing seems overly complicated to me, but not something I really want to take on right now.

@slozier slozier merged commit 9358e4b into IronLanguages:main Dec 13, 2024
5 of 8 checks passed
@slozier slozier deleted the perf branch December 13, 2024 02:16
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.

Argument unpacking is inefficient
2 participants