Zannick/logic-graph

Better capacity/eviction policy for the segmented queue

開放

#97 建立於 2023年7月13日

 (1 則留言) (0 個反應) (0 位負責人)Rust (0 個分叉)auto 404
help wanted

倉庫指標

星標
 (4 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

With no fixed capacity and after removing the shrink_to_fit calls, we generate reports of the total capacity of each segment, and find that with our current AV2 test, the entire queue keeps a capacity of roughly 2-3x the capacity we asked for.

It may be beneficial to have a per-segment cap, such that we can better control the allocated capacity for each segment, especially since DoublePriorityQueue's underlying store does not support shrink_to_fit on the inner map, only on the lists of indexes. One idea is for the heap to perform a segment eviction if attempting to push or extend past a segment's capacity limit, which we'd set to maybe 1.5-2x the average we'd have with a full queue on all segments.

貢獻者指南