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

Reduce hashing resolving references in semantic #83

Open
overlookmotel opened this issue Jul 12, 2024 · 4 comments
Open

Reduce hashing resolving references in semantic #83

overlookmotel opened this issue Jul 12, 2024 · 4 comments
Assignees

Comments

@overlookmotel
Copy link

overlookmotel commented Jul 12, 2024

From oxc-project/oxc#4169 (comment):

Hashing into UnresolvedReferences remains the slower part of the pipeline. Are there any other improvements can be made before storing the hash value inline?

I think the answer is yes, but I'm not quite sure how yet!

We should certainly be able to reduce hashing, but I don't know the internals of the hashmap we're using well enough to say best way to do it. We may not even need to store the whole hash, maybe just the top 7 bits of it (if it's a SwissTable-style hashmap).

@Boshen Please remind me what software you are using to generate the perf measures shown in oxc-project/oxc#4169 (comment)?

@overlookmotel overlookmotel self-assigned this Jul 12, 2024
@overlookmotel
Copy link
Author

xacrimon/dashmap#287 may be a good guide.

@Dunqing
Copy link
Member

Dunqing commented Jul 12, 2024

@Boshen Please remind me what software you are using to generate the perf measures shown in #4169 (comment)?

https://oxc.rs/docs/contribute/performance.html#profile

@overlookmotel
Copy link
Author

https://oxc.rs/docs/contribute/performance.html#profile

Shame on me! I should read the frickin' docs.

@overlookmotel
Copy link
Author

overlookmotel commented Jul 12, 2024

Looks like possibly we could use hashbrown's HashTable (though we should wrap it in an abstraction).

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

No branches or pull requests

2 participants