-
Notifications
You must be signed in to change notification settings - Fork 1.7k
C++: Reduce memory pressure from getInstruction
#13207
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
C++: Reduce memory pressure from getInstruction
#13207
Conversation
…HOP in 'getInstruction'. This reduces the memory pressure when generating the CFG for Wireshark.
|
Hmmm... Apparently, this breaks some of our tests 🤔. I'll investigate. Edit: Fixed in 57cc316. |
|
Stage timings on DCA look pretty noisy. I'm OK with the code but we should look into that. |
Sure, we can do that. Note that the stage timings behavior is actually quite consistent with our observations. In all of the projects, the |
|
Yeah, the query-specific stage timing alerts flagged up here is just noise. |
Since we merged #12900 the Foundations teams internal performance measurements have been OOM'ing when analyzing Wireshark because they're running their experiments with ~6GB of RAM (unlike our DCA analysis of Wireshark which uses a much larger runner).
The analysis was OOM'ing because of the use of the
shortestDistancesHOP. This use was introduced in 8368c37 to get around an issue where Eclipse was OOM'ing because the log file was too large 😅.This PR reverts 8368c37 and replaces the transitive closure of
adjacentInBlock(which also was OOM'ing when I tried it locally) with anEquivalenceRelation-based approach. This succeeds even with 5GB of memory 🎉.We do, however, now have
148647iterations ofgetMemberIndex😱. So we need to run DCA (and maybe even MRVA?) to check if this is a change we want to make.