Use horde's SyncTable for default query caches and CtxtInterners#153826
Use horde's SyncTable for default query caches and CtxtInterners#153826Zoxc wants to merge 2 commits intorust-lang:mainfrom
horde's SyncTable for default query caches and CtxtInterners#153826Conversation
|
@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.
Use `horde`'s `SyncTable` for default query caches and `CtxtInterners`
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (810b08b): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient 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 (secondary -9.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 3.5%, secondary 3.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 483.729s -> 488.9s (1.07%) |
|
@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.
Use `horde`'s `SyncTable` for default query caches and `CtxtInterners`
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (a20b8ea): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient 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 2.6%, secondary -9.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 3.4%, secondary 3.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 480.839s -> 488.485s (1.59%) |
This uses the hash map from my horde crate as the default query cache map and in
CtxtInterners. The main benefit of it is that it offers lock-free reads.This is a proper version of the test in #138419.
This adds a intermediary
SyncTabletype which uses our dynamicLockinstead of the always-on lock integrated inhorde::SyncTable, as this avoids lock overhead for the-Zthreads=1case.This integrates the quiescent state based memory reclamation scheme by marking query execution as quiescent with
collectand callingreleasewhen we're blocking.