Seeking for the best priority queue: Lessons learnt
Author:Jyrki Katajainen
Published in:Algorithm Engineering (Dagstuhl Seminar 13391), Dagstuhl Reports 3,9, Schloss Dagstuhl---Leibniz-Zentrum für Informatik (2014), 74-75
Full text:<html.gif>HTML  
Copyright:© Jyrki Katajainen

Since 2004, I and my research collaborators have been studying the performance of different priority queues for different sets of operations to be supported. At the theoretical level, we have measured the goodness in terms of the comparison complexity of different operations. As the other optimization criteria, we have considered how to reduce the number of instructions, branch mispredictions, cache misses, and element moves. At the practical level, we have used the actual running time as the key performance indicator. We have done most of our experiments on synthetic operation sequences, but we have also done some application engineering.

In this talk I will briefly survey the theoretical results obtained and I will discuss the methodological issues encountered when performing the practical experiments. As a teaser, consider the following questions:

  • What is the best priority queue?
  • When to implement a data structure?
  • Does a factor of two matter?
  • Does the space efficiency matter?
  • What is the effect of different hardware phenomena?
  • How to measure the practical performance?
  • What to do next?

It goes without saying that I do not have complete answers to these questions.

Related:<html.gif>HTML (Technical report)  <html.gif>HTML (Slides)  
  author = {Jyrki Katajainen},
  title = {Seeking for the best priority queue: {L}essons learnt},
  booktitle = {Algorithm Engineering (Dagstuhl Seminar 13391)},
  series = {Dagstuhl Reports},
  volume = {3},
  number = {9},
  publisher = {Schloss Dagstuhl---Leibniz-Zentrum f\"{u}r Informatik},
  year = {2014},
  pages = {74--75},
This page was generated by Jyrki Katajainen <> on 19.01.2014.