Experiment: Use packed query cache entries#155551
Experiment: Use packed query cache entries#155551zetanumbers wants to merge 4 commits intorust-lang:mainfrom
Conversation
df370b7 to
259c65f
Compare
This comment has been minimized.
This comment has been minimized.
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Experiment: Use packed query cache entries
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (9c4c544): comparison URL. Overall result: ❌ regressions - please read:Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf. Next, please: If you can, justify the regressions found in this try perf run in writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -1.1%, secondary 5.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -3.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 507.073s -> 491.845s (-3.00%) |
|
Keep in mind that we erase query result types, so they always have byte alignment. |
|
Yeah, I remembered that too late. |
There are some prevalent cases of query value type being 8-byte aligned like references. This might add padding bytes to query cache structures, so we might get more cache misses. This PR packs cache entries to be 4-byte aligned to avoid padding. Might impact the performance.
Based on #155550 to distinguish perf impact of using
insert_unique.r? @petrochenkov