remember instructions sorting between recursions
Hi,
This is related to our earlier discussion about scheduling being slow when we have large number of instructions, e.g. !219 (closed). It turns out that most of the overheads are in this sorting: when we have many instructions, the sorting repeated in the recursion after we schedule each instruction. In this MR, I'm trying to remember the sorted result and pass it down the recursions via SchedulerState
.
This change gets the scheduling of holzapfel
kernel (>8000 instructions) from 100+ seconds down to 25 seconds, which I think is good enough at least in the short term.
Does this work?
Thanks,
-TJ