[Pack] List of Feasible Candidates Should be a Priority Queue
AlexandreSinger opened this issue · 1 comments
AlexandreSinger commented
In the GreedyCandidateSelector class, used within the packer, a list of feasible blocks is maintained which is used to select the next candidate to propose:
vtr-verilog-to-routing/vpr/src/pack/greedy_candidate_selector.h
Lines 86 to 91 in e46e9c2
Currently this is stored as a vector where it is ordered based on the gain of the block. To maintain the order, an insertion sort is used every time a block is added to the list. Not only is this code confusing to read, it may also be slow. This should instead be an std::priority_queue.
RonZ13 commented
I ll take this.