-
Notifications
You must be signed in to change notification settings - Fork 11k
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
[BOLT] Evaluate and speedup discoverFileObjects #90661
Comments
@llvm/issue-subscribers-bolt Author: Amir Ayupov (aaupov)
Operations with symbols such as name lookup are expensive and some binaries have millions of symbols, so it makes sense to try to reduce the symbol-related overheads.
Measure how much the following cost and refactor/eliminate:
|
Hi! This issue may be a good introductory issue for people new to working on LLVM. If you would like to work on this issue, your first steps are:
If you have any further questions about this issue, don't hesitate to ask via a comment in the thread below. |
@llvm/issue-subscribers-good-first-issue Author: Amir Ayupov (aaupov)
Operations with symbols such as name lookup are expensive and some binaries have millions of symbols, so it makes sense to try to reduce the symbol-related overheads.
Measure how much the following cost and refactor/eliminate:
|
Well, Can I take a look at it? |
Yes, go for it! |
@aaupov |
The largest that you can get your hands on, the more symbols the better. Or CPython if it's the one that you care about the most. Clang is a reasonably large, important, and straightforward project to work with. |
There are several issues (zero stack count.. :( ) when converting to the flame graph, Anyway, I will start to optimize with following what you proposed :) |
@aaupov
Even if the vector is an efficient data structure for most cases, it will require huge time complexity. |
I don't think there's much opportunity here. Let's keep this task open to address points 1 and 2. |
So, I have questions about point 1.
So, do you want to make NameOrError == When I searched about |
I did experiments with removing these checks entirely and found that they make very little difference. So I guess it's just pt 2 that is worth merging, and it has a PR already. If you're interested, I can try to find other good first issues in BOLT. |
Yeah, it will be happy :) |
Operations with symbols such as name lookup are expensive and some binaries have millions of symbols, so it makes sense to try to reduce the symbol-related overheads.
Measure how much the following cost and refactor/eliminate:
llvm-project/bolt/lib/Rewrite/RewriteInstance.cpp
Lines 824 to 837 in a1423ba
llvm-project/bolt/lib/Rewrite/RewriteInstance.cpp
Line 824 in a1423ba
llvm-project/bolt/lib/Rewrite/RewriteInstance.cpp
Line 876 in a1423ba
The text was updated successfully, but these errors were encountered: