priority queue with binary heap test : 1000000 elements (profile optimized version)
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
69.90 0.72 0.72 36092885 0.00 0.00 mergeHeaps
20.39 0.93 0.21 34092885 0.00 0.00 joinHeaps
8.74 1.02 0.09 34092885 0.00 0.00 compare
0.97 1.03 0.01 1000000 0.00 0.00 deleteMinElem
0.00 1.03 0.00 1000000 0.00 0.00 insertElem
0.00 1.03 0.00 1000000 0.00 0.00 mkOneElemHeap
0.00 1.03 0.00 1 0.00 510.00 addElems
0.00 1.03 0.00 1 0.00 520.00 delElems

Call graph
granularity: each sample hit covers 4 byte(s) for 0.97% of 1.03 seconds
index % time self children called name
<spontaneous>
[1] 100.0 0.00 1.03 main [1]
0.00 0.52 1/1 delElems [5]
0.00 0.51 1/1 addElems [7]
-----------------------------------------------
[2] 99.0 0.93 0.09 2000000+68185770 <cycle 1 as a whole> [2]
0.72 0.09 36092885 mergeHeaps <cycle 1> [3]
0.21 0.00 34092885 joinHeaps <cycle 1> [8]
-----------------------------------------------
34092885 joinHeaps <cycle 1> [8]
0.47 0.04 1000000/2000000 deleteMinElem [4]
0.47 0.04 1000000/2000000 insertElem [6]
[3] 78.6 0.72 0.09 36092885 mergeHeaps <cycle 1> [3]
0.09 0.00 34092885/34092885 compare [9]
34092885 joinHeaps <cycle 1> [8]
-----------------------------------------------
0.01 0.51 1000000/1000000 delElems [5]
[4] 50.5 0.01 0.51 1000000 deleteMinElem [4]
0.47 0.04 1000000/2000000 mergeHeaps <cycle 1> [3]
-----------------------------------------------
0.00 0.52 1/1 main [1]
[5] 50.5 0.00 0.52 1 delElems [5]
0.01 0.51 1000000/1000000 deleteMinElem [4]
-----------------------------------------------
0.00 0.51 1000000/1000000 addElems [7]
[6] 49.5 0.00 0.51 1000000 insertElem [6]
0.47 0.04 1000000/2000000 mergeHeaps <cycle 1> [3]
0.00 0.00 1000000/1000000 mkOneElemHeap [10]
-----------------------------------------------
0.00 0.51 1/1 main [1]
[7] 49.5 0.00 0.51 1 addElems [7]
0.00 0.51 1000000/1000000 insertElem [6]
-----------------------------------------------
34092885 mergeHeaps <cycle 1> [3]
[8] 20.4 0.21 0.00 34092885 joinHeaps <cycle 1> [8]
34092885 mergeHeaps <cycle 1> [3]
-----------------------------------------------
0.09 0.00 34092885/34092885 mergeHeaps <cycle 1> [3]
[9] 8.7 0.09 0.00 34092885 compare [9]
-----------------------------------------------
0.00 0.00 1000000/1000000 insertElem [6]
[10] 0.0 0.00 0.00 1000000 mkOneElemHeap [10]
-----------------------------------------------

Index by function name
[7] addElems [4] deleteMinElem [3] mergeHeaps
[9] compare [6] insertElem [10] mkOneElemHeap
[5] delElems [8] joinHeaps [2] <cycle 1>