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

Fix lwAFTR trace performance issues (for release Alpina) #1488

Merged
merged 2 commits into from Oct 12, 2022

Conversation

eugeneia
Copy link
Member

Running CI for the Alpina release showed a performance regression in the lwaftr benchmark.

I’ve triaged this to not be due a specific code change, but an existing condition where the previous code generated traces that unnecessarily invoked the GC.

These two commits eliminate some casts that could set off the GC and some side traces to make perf more predictable:

  • 5fe89b5 don’t flush lookups early, always flush them at the end of push (I had increased the queue size for this, but it should be fine with the default engine.pull_npackets and there is a new assertion to check the currently hardcoded queue size is sufficient.)
  • 4706127 optimized the best-case code for siphash’s make_multi_hash method to not generate side traces. Also removed casts (caller has to ensure arguments are of the right types, all current callers already do this).

Remove some redundant casts that were introducing unsunk cnewi.

Reformulate make_multi_hash optimal path to reduce side trace generation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant