title: boost circular_buffer or heap sorting performance
body: <p>I need to sort object that arrive to a process X before treating them.<br>
  Object are sorted given to a time-stamp - a 64 bit number.<br>
  When object are timed out(a few milli) and sorted, the process X start to look at them.<br> 
  Most of the time the object arrive sorted, between 3% and 5% the objects are out of order. </p>
  
  <p>So i need a structure that allow me to:<br>
    - insert quickly elements<br>
    - remove quickly timed out elements<br></p>
  
  <p>What should be the best to sort them, in term of performance?<br>
  I started to implement with boost::circular_buffer.<br>
  If boost::heap is better for this, which boost::heap should i use? Because there are a few(fibonacci, binomial, priority queue...)<br>
  I am using boost 1_49 but i can use a newer version also.<br></p>
  
  <p>With circular buffer i insert most of the elements at the beginning of the buffer. But it can be O(n) in some case.<br>
  But to take timed out element it is O(1) </p>