Priority Queue つづき

ランダムな値を10000件出し入れするベンチマークをとったところ、 POE::Queue::Array はナイーブに二分探索+splice で実装したものより 3 倍ぐらい速かった。すごいなー。Heap::Priority はそのナイーブ版より遅かった。

Heap::Priority の実装は見てないけど、なんで遅いんだろ? 本当に Heap を使ってるならランダム削除が遅いのはわかる。けどenqueue,dequeueが遅い理由が謎。

あと、Priority Queue を Heap で実装するのは、使い方によってはランダム削除が遅いのが辛いかも。

やはりまだ C で Heap を実装した方が速いのではないかという考えを捨てきれない。けど深追いはやめておく。