Open smb374 opened 2 years ago
From garro95/priority-queue:
Store
, which contains the following:
map
: A IndexMap
from the indexmap
crateheap
: A Vec<usize>
which is a binary heap for the heap sortqp
: Position
<-> Index
size
: size of heap
Pool
from sharded-slab
to achieve lock-free access for the interior structures.~Another simple way is to wrap the current PriorityQueue
with AtomicCell
from crossbeam
and enclose it with Pool
.
May try this out first before we start to implement.~
Doesn't work very well because AtomicCell
requires T: Copy
to use load
& using fetch_update
doesn't increase performance.
~Third option is use locks. Mutex
from parking_lot
have fair unlock which may achieve the same performance compare to the lock-free solution.~
Provide a worse performance in terms of throughput & transaction rate.
Currently implemented the HybridScheduler
for a eclectic solution