I know this is probably one of those "you just have to try it" kind of questions, but since I do not have actual test data available yet, I'd like to get some input on your experience while I am still designing the code.

I have a data structure that implements a priority queue with some added functions. What I usually need to do is adding a bunch of objects to this heap at a time. I am using the `std::make_heap()`

, `std::push_heap()`

and `std::pop_heap()`

algorithms to maintain the heap invariants.

For now whenever I do an insert I use `std::push_heap()`

to add the single element. Now I am thinking about adding all the elements at a time, using the `std::vector::push_back()`

method and then reorganizing the heap. A simple `push_heap()`

at this time probably won't work so I would have to use a new `make_heap()`

. However `make_heap()`

runs in `(3*(last-first))`

while `push_heap()`

only takes `log(last-first)`

.

Is there a simple way to figure out which one is actually faster in this case, or do I have to wait until test data becomes available?