Re: join ordering via Simulated Annealing - Mailing list pgsql-hackers
From | Jan Urbański |
---|---|
Subject | Re: join ordering via Simulated Annealing |
Date | |
Msg-id | 4B474426.8060906@wulczer.org Whole thread Raw |
In response to | Re: join ordering via Simulated Annealing (Andres Freund <andres@anarazel.de>) |
List | pgsql-hackers |
Andres Freund wrote: > On Wednesday 23 December 2009 02:23:55 Jan Urbański wrote: >> Lastly, I'm lacking good testcases or even a testing approach: > If you want to see some queries which are rather hard to plan with random > search you can look at > http://archives.postgresql.org/message-id/200907091700.43411.andres@anarazel.de > which tom analyzed and improved here http://archives.postgresql.org/message-id/17807.1247932094@sss.pgh.pa.us Here's the current state of affairs. I managed to make the module into sufficiently good shape to at least not error out on Andres' example query. I tried it with SAIO, GEQO and the standard planner. from_collapse_limit and join_collapse_limit were set to 14. This was on a --enable-debug --disable-cassert -O2 build. Here are the results: SAIO, standard values saio_equilibrium_factor = 16 saio_temperature_reduction_factor = 0.95 time = too big SAIO, tweaked saio_equilibrium_factor = 12 saio_temperature_reduction_factor = 0.3 cost = 13376.10..19692.53 time = 86866.276 ms GEQO cost = 13936.53..19479.38 time = 182000.097 ms STANDARD cost = 17807.57..19339.64 time = 39361.248 ms A couple of remarks. The standard planner found a decent plan and only ate around 550 MB of memory while doing so. Reading this mail http://archives.postgresql.org/pgsql-hackers/2009-07/msg01219.php I was expecting it to start swapping, but for some reason it didn't. GEQO produced a comparable (even if a bit better) plan to SAIO and took quite some more time. OTOH, with the default parameters, SAIO takes crazy amounts of time and I never had the patience to even wait until it finishes. Memory usage stayed low in both, because both of them do calculations in a separate memory context that gets periodically reset. A short explanation on the saio_* parameter values. and the algorithm itself. The SAIO algorithm is composed of two loops: do { do { random_move() } while (!equilibrium()) reduce_temperature() } while (!frozen()) The inner loop does random moves until it reaches "equilibrium". Moves that improve the plan are always accepted, uphill moves are accepted with the probability that's proportional to how much worse the new plan is and how high the current temperature is. The paper I quoted earlier that equilibrium is reached after iterating the inner loop 16 * number_of_joins times. The "16" parameter is what I called saio_equilibrium_factor. In each outer loop iteration the temperature of the system is reduced by a factor of saio_temperature_reduction_factor, which is 0.9 in the paper. The catch is that because of join order constraints, lots of random moves are resulting simply invalid and are rejected, even if they still are counted as a full iteration of the inner loop. ISTM that it doesn't skew the results too much, though. I followed Tom's advice to mimick GEQO's way of choosing joins with join clauses first, but that only is done when building the starting tree. After that the moves are random. A related question: why does GEQO try to put the largest "clumps" at the beginning of the list? Is it to achieve maximum left-deepness? I didn't copy that in SAIO, I'm just adding the new clump at the beginning of the list. The big question for me now is what are the reasonable values of those two GUCs? I think that because of the amount of work make_join_rel does (handle symmetric case, consider all access paths) they can be made stricter that in the paper, so 16/0.9 seems wrong. OTOH, I have no idea why it takes so long with those parameters cranked up, I would think they influence the running time linearly, but maybe I'm just way off base. For the record, I'm attaching oprofile results for the standard planner, GEQO and SAIO (standard and tweaked, I ctrl+c'd the standard run). I was profiling the whole system, but what I'm attaching is the grepped out "postgres" part. What I don't get is why cranking up the GUCs results in generate_join_implied_equalities moving to the top of the list. I've spent countless hours trying to understand why that happens and am currently at a loss. > Robert had another example in > 603c8f070911271205r4d4534edt1cebcb76ff5066a5@mail.gmail.com that might be > interesting. I'll give it a shot soon, and then hopefully will do some plan quality comparision on less pathological queries. Cheers, Jan CPU: Core 2, speed 2000 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 samples % image name app name symbol name ------------------------------------------------------------------------------- 87000 21.2565 no-vmlinux no-vmlinux /no-vmlinux 87000 100.000 no-vmlinux no-vmlinux /no-vmlinux [self] ------------------------------------------------------------------------------- 14 0.0222 postgres postgres add_paths_to_joinrel 123 0.1953 postgres postgres make_pathkey_from_sortinfo 19347 30.7139 postgres postgres select_outer_pathkeys_for_merge 43507 69.0686 postgres postgres make_inner_pathkeys_for_merge 62999 15.3924 postgres postgres make_canonical_pathkey 62999 100.000 postgres postgres make_canonical_pathkey [self] ------------------------------------------------------------------------------- 1 0.0030 postgres postgres find_eclass_clauses_for_index_join 2 0.0060 postgres postgres check_outerjoin_delay 2 0.0060 postgres postgres deconstruct_recurse 5 0.0150 postgres postgres have_join_order_restriction 12 0.0361 postgres postgres add_paths_to_joinrel 25 0.0751 postgres postgres have_relevant_eclass_joinclause 33 0.0992 postgres postgres pathkeys_useful_for_merging 243 0.7304 postgres postgres make_join_rel 257 0.7725 postgres postgres build_join_rel 400 1.2024 postgres postgres select_outer_pathkeys_for_merge 676 2.0320 postgres postgres build_joinrel_restrictlist 1049 3.1532 postgres postgres eclass_useful_for_merging 6445 19.3730 postgres postgres has_relevant_eclass_joinclause 7493 22.5231 postgres postgres join_is_legal 16625 49.9729 postgres postgres generate_join_implied_equalities 33275 8.1300 postgres postgres bms_overlap 33275 100.000 postgres postgres bms_overlap [self] ------------------------------------------------------------------------------- 32118 7.8473 oprofiled oprofiled /usr/bin/oprofiled 32118 100.000 oprofiled oprofiled /usr/bin/oprofiled [self] ------------------------------------------------------------------------------- 27349 6.6821 libxul.so libxul.so /usr/local/firefox-3.5.2/libxul.so 27349 100.000 libxul.so libxul.so /usr/local/firefox-3.5.2/libxul.so [self] ------------------------------------------------------------------------------- 29 0.0594 postgres postgres build_join_rel 48786 99.9406 postgres postgres build_joinrel_restrictlist 26656 6.5128 postgres postgres generate_join_implied_equalities 26656 54.6062 postgres postgres generate_join_implied_equalities [self] 16625 34.0572 postgres postgres bms_overlap 3327 6.8155 postgres postgres bms_is_subset 1229 2.5177 postgres postgres lappend 477 0.9772 postgres postgres select_equality_operator 204 0.4179 postgres postgres op_hashjoinable 194 0.3974 postgres postgres create_join_clause 45 0.0922 postgres postgres list_concat 26 0.0533 postgres postgres new_list 14 0.0287 postgres postgres MemoryContextAlloc 10 0.0205 postgres postgres AllocSetAlloc 3 0.0061 postgres postgres SearchSysCache 3 0.0061 postgres postgres get_opfamily_member 1 0.0020 postgres postgres ReleaseCatCache 1 0.0020 postgres postgres SearchCatCache ------------------------------------------------------------------------------- 70 0.2623 postgres postgres make_join_rel 26614 99.7377 postgres postgres add_paths_to_joinrel 24336 5.9459 postgres postgres add_path 24336 91.1939 postgres postgres add_path [self] 846 3.1702 postgres postgres compare_pathkeys 676 2.5332 postgres postgres lappend_cell 307 1.1504 postgres postgres list_delete_cell 176 0.6595 postgres postgres pfree 156 0.5846 postgres postgres compare_path_costs 110 0.4122 postgres postgres lcons 33 0.1237 postgres postgres AllocSetFree 22 0.0824 postgres postgres MemoryContextAlloc 17 0.0637 postgres postgres AllocSetAlloc 6 0.0225 postgres postgres list_free_private 1 0.0037 postgres postgres new_list ------------------------------------------------------------------------------- 7832 1.9136 libmozjs.so libmozjs.so /usr/local/firefox-3.5.2/libmozjs.so 7832 100.000 libmozjs.so libmozjs.so /usr/local/firefox-3.5.2/libmozjs.so [self] ------------------------------------------------------------------------------- 1 0.0149 postgres postgres have_relevant_eclass_joinclause 4 0.0594 postgres postgres best_inner_indexscan 8 0.1188 postgres postgres create_hashjoin_path 10 0.1485 postgres postgres create_mergejoin_path 12 0.1782 postgres postgres have_join_order_restriction 13 0.1931 postgres postgres pathkeys_useful_for_merging 31 0.4604 postgres postgres make_join_rel 62 0.9207 postgres postgres create_index_paths 94 1.3959 postgres postgres cost_hashjoin 146 2.1681 postgres postgres find_eclass_clauses_for_index_join 238 3.5343 postgres postgres has_relevant_eclass_joinclause 403 5.9846 postgres postgres build_join_rel 430 6.3855 postgres postgres join_is_legal 436 6.4746 postgres postgres add_paths_to_joinrel 460 6.8310 postgres postgres build_joinrel_restrictlist 513 7.6181 postgres postgres cost_mergejoin 546 8.1081 postgres postgres eclass_useful_for_merging 3327 49.4060 postgres postgres generate_join_implied_equalities 6735 1.6455 postgres postgres bms_is_subset 6735 100.000 postgres postgres bms_is_subset [self] ------------------------------------------------------------------------------- 114 1.7941 postgres postgres hash_search 6240 98.2059 postgres postgres bms_hash_value 6356 1.5529 postgres postgres hash_any 6356 100.000 postgres postgres hash_any [self] ------------------------------------------------------------------------------- 2 0.0164 postgres postgres make_join_rel 12195 99.9836 postgres postgres build_join_rel 5515 1.3475 postgres postgres has_relevant_eclass_joinclause 6445 52.8365 postgres postgres bms_overlap 5515 45.2123 postgres postgres has_relevant_eclass_joinclause [self] 238 1.9511 postgres postgres bms_is_subset ------------------------------------------------------------------------------- 4854 1.1860 Xorg Xorg /usr/bin/Xorg 4854 100.000 Xorg Xorg /usr/bin/Xorg [self] ------------------------------------------------------------------------------- 11868 100.000 postgres postgres make_join_rel 3951 0.9653 postgres postgres join_is_legal 7493 63.1043 postgres postgres bms_overlap 3951 33.2744 postgres postgres join_is_legal [self] 430 3.6214 postgres postgres bms_is_subset ------------------------------------------------------------------------------- 1 0.0241 postgres postgres build_join_rel 70 1.6892 postgres postgres find_join_rel 4073 98.2867 postgres postgres hash_search 3915 0.9565 postgres postgres hash_search_with_hash_value 3915 94.4739 postgres postgres hash_search_with_hash_value [self] 184 4.4402 postgres postgres element_alloc 43 1.0376 postgres postgres seg_alloc 2 0.0483 postgres postgres DynaHashAlloc ------------------------------------------------------------------------------- 1 0.0290 postgres postgres get_relation_info 1 0.0290 postgres postgres AcquireRewriteLocks 1 0.0290 postgres postgres bms_intersect 1 0.0290 postgres postgres element_alloc 1 0.0290 postgres postgres _bt_getroot 1 0.0290 postgres postgres list_copy_tail 2 0.0580 postgres postgres replace_rte_variables_mutator 3 0.0870 postgres postgres MemoryContextAllocZero 3 0.0870 postgres postgres load_relcache_init_file 3 0.0870 postgres postgres add_paths_to_joinrel 3 0.0870 postgres postgres create_hashjoin_path 4 0.1159 postgres postgres create_material_path 7 0.2029 postgres postgres MemoryContextCreate 7 0.2029 postgres postgres build_joinrel_tlist 10 0.2899 postgres postgres generate_join_implied_equalities 11 0.3188 postgres postgres MemoryContextStrdup 13 0.3768 postgres postgres build_join_rel 16 0.4638 postgres postgres copyObject 17 0.4928 postgres postgres add_path 26 0.7536 postgres postgres create_mergejoin_path 35 1.0145 postgres postgres lcons 38 1.1014 postgres postgres expression_tree_mutator 45 1.3043 postgres postgres select_outer_pathkeys_for_merge 48 1.3913 postgres postgres hash_create 48 1.3913 postgres postgres list_copy 51 1.4783 postgres postgres bms_copy 64 1.8551 postgres postgres DynaHashAlloc 105 3.0435 postgres postgres create_nestloop_path 272 7.8841 postgres postgres lappend_cell 476 13.7971 postgres postgres lappend 993 28.7826 postgres postgres MemoryContextAllocZeroAligned 1144 33.1594 postgres postgres new_list 3303 0.8070 postgres postgres AllocSetAlloc 3303 95.4900 postgres postgres AllocSetAlloc [self] 148 4.2787 libc-2.10.2.so postgres malloc 7 0.2024 libc-2.10.2.so postgres _int_malloc 1 0.0289 libc-2.10.2.so postgres __i686.get_pc_thunk.bx ------------------------------------------------------------------------------- 2940 0.7183 firefox-bin firefox-bin /usr/local/firefox-3.5.2/firefox-bin 2940 100.000 firefox-bin firefox-bin /usr/local/firefox-3.5.2/firefox-bin [self] ------------------------------------------------------------------------------- 2932 0.7164 libglib-2.0.so.0.2200.3 libglib-2.0.so.0.2200.3 /lib/libglib-2.0.so.0.2200.3 2932 100.000 libglib-2.0.so.0.2200.3 libglib-2.0.so.0.2200.3 /lib/libglib-2.0.so.0.2200.3 [self] ------------------------------------------------------------------------------- 1 1.8519 libc-2.10.2.so libc-2.10.2.so _IO_sgetn 3 5.5556 libc-2.10.2.so libc-2.10.2.so qsort_r 11 20.3704 libc-2.10.2.so libc-2.10.2.so vfprintf 14 25.9259 libc-2.10.2.so libc-2.10.2.so realloc 25 46.2963 libc-2.10.2.so libc-2.10.2.so msort_with_tmp 2820 0.6890 libc-2.10.2.so libc-2.10.2.so memcpy 2820 100.000 libc-2.10.2.so libc-2.10.2.so memcpy [self] ------------------------------------------------------------------------------- 46 1.2342 postgres postgres add_paths_to_joinrel 3681 98.7658 postgres postgres create_nestloop_path 2211 0.5402 postgres postgres cost_nestloop 2211 59.3079 postgres postgres cost_nestloop [self] 1371 36.7758 postgres postgres cost_qual_eval 112 3.0043 postgres postgres adjust_semi_join 34 0.9120 postgres postgres cost_qual_eval_walker ------------------------------------------------------------------------------- 21 0.4195 postgres postgres add_paths_to_joinrel 4985 99.5805 postgres postgres create_mergejoin_path 2101 0.5133 postgres postgres cost_mergejoin 2101 42.0368 postgres postgres cost_mergejoin [self] 865 17.3069 postgres postgres cost_qual_eval 857 17.1469 postgres postgres cost_sort 536 10.7243 postgres postgres approx_tuple_count 513 10.2641 postgres postgres bms_is_subset 29 0.5802 postgres postgres cost_qual_eval_walker 29 0.5802 libm-2.10.2.so postgres rint 18 0.3601 libm-2.10.2.so postgres ceil 17 0.3401 postgres postgres ExecSupportsMarkRestore 15 0.3001 libm-2.10.2.so postgres log 14 0.2801 postgres postgres clause_selectivity 4 0.0800 postgres postgres mergejoinscansel ------------------------------------------------------------------------------- 2019 0.4933 libQtCore.so.4.5.3 libQtCore.so.4.5.3 /usr/lib/libQtCore.so.4.5.3 2019 100.000 libQtCore.so.4.5.3 libQtCore.so.4.5.3 /usr/lib/libQtCore.so.4.5.3 [self] ------------------------------------------------------------------------------- 2 0.0242 postgres postgres build_join_rel 50 0.6057 postgres postgres find_join_rel 8203 99.3701 postgres postgres hash_search 2016 0.4926 postgres postgres bms_hash_value 6240 75.5814 postgres postgres hash_any 2016 24.4186 postgres postgres bms_hash_value [self] ------------------------------------------------------------------------------- 1906 0.4657 libpthread-2.10.2.so libpthread-2.10.2.so pthread_mutex_lock 1906 100.000 libpthread-2.10.2.so libpthread-2.10.2.so pthread_mutex_lock [self] ------------------------------------------------------------------------------- 13 0.6989 postgres postgres create_mergejoin_path 106 5.6989 postgres postgres get_cheapest_path_for_pathkeys 198 10.6452 postgres postgres add_paths_to_joinrel 697 37.4731 postgres postgres pathkeys_contained_in 846 45.4839 postgres postgres add_path 1860 0.4544 postgres postgres compare_pathkeys 1860 100.000 postgres postgres compare_pathkeys [self] ------------------------------------------------------------------------------- 1742 0.4256 libQtGui.so.4.5.3 libQtGui.so.4.5.3 /usr/lib/libQtGui.so.4.5.3 1742 100.000 libQtGui.so.4.5.3 libQtGui.so.4.5.3 /usr/lib/libQtGui.so.4.5.3 [self] ------------------------------------------------------------------------------- 115738 100.000 postgres postgres make_join_rel 1719 0.4200 postgres postgres add_paths_to_joinrel 44326 38.2903 postgres postgres make_inner_pathkeys_for_merge 26614 22.9901 postgres postgres add_path 20311 17.5453 postgres postgres select_outer_pathkeys_for_merge 6472 5.5907 postgres postgres create_mergejoin_path 5468 4.7234 postgres postgres create_nestloop_path 3054 2.6381 postgres postgres truncate_useless_pathkeys 2617 2.2607 postgres postgres get_cheapest_path_for_pathkeys 1719 1.4849 postgres postgres add_paths_to_joinrel [self] 1085 0.9373 postgres postgres best_inner_indexscan 1013 0.8751 postgres postgres find_mergeclauses_for_pathkeys 775 0.6695 postgres postgres create_hashjoin_path 446 0.3853 postgres postgres pfree 436 0.3766 postgres postgres bms_is_subset 204 0.1762 postgres postgres lappend 198 0.1710 postgres postgres compare_pathkeys 184 0.1589 postgres postgres pathkeys_contained_in 148 0.1278 postgres postgres compare_path_costs 137 0.1183 postgres postgres create_material_path 89 0.0769 postgres postgres AllocSetFree 84 0.0726 postgres postgres MemoryContextAllocZeroAligned 46 0.0397 postgres postgres cost_nestloop 44 0.0380 postgres postgres cache_mergeclause_eclasses 33 0.0285 postgres postgres build_join_pathkeys 30 0.0259 postgres postgres pathkeys_useful_for_ordering 26 0.0225 postgres postgres list_copy 26 0.0225 postgres postgres lappend_cell 22 0.0190 postgres postgres list_delete_cell 21 0.0181 postgres postgres cost_mergejoin 18 0.0155 postgres postgres lcons 15 0.0130 postgres postgres pathkeys_useful_for_merging 14 0.0121 postgres postgres make_canonical_pathkey 12 0.0104 postgres postgres list_concat 12 0.0104 postgres postgres bms_overlap 11 0.0095 postgres postgres list_delete_ptr 9 0.0078 postgres postgres new_list 9 0.0078 postgres postgres MemoryContextAlloc 8 0.0069 postgres postgres list_truncate 7 0.0060 postgres postgres ExecMaterializesOutput 6 0.0052 postgres postgres bms_intersect 4 0.0035 postgres postgres bms_is_empty 3 0.0026 postgres postgres AllocSetAlloc 3 0.0026 postgres postgres cost_hashjoin 2 0.0017 postgres postgres bms_equal 2 0.0017 postgres postgres cost_material ------------------------------------------------------------------------------- 1680 0.4105 libgobject-2.0.so.0.2200.3 libgobject-2.0.so.0.2200.3 /usr/lib/libgobject-2.0.so.0.2200.3 1680 100.000 libgobject-2.0.so.0.2200.3 libgobject-2.0.so.0.2200.3 /usr/lib/libgobject-2.0.so.0.2200.3 [self] ------------------------------------------------------------------------------- 1 0.0623 postgres postgres cost_qual_eval_walker 3 0.1869 postgres postgres cost_hashjoin 29 1.8069 postgres postgres cost_mergejoin 34 2.1184 postgres postgres cost_nestloop 1538 95.8255 postgres postgres cost_qual_eval 1603 0.3917 postgres postgres cost_qual_eval_walker 1603 99.8754 postgres postgres cost_qual_eval_walker [self] 1 0.0623 postgres postgres cost_qual_eval_walker 1 0.0623 postgres postgres get_func_cost ------------------------------------------------------------------------------- 5 100.000 libpthread-2.10.2.so libpthread-2.10.2.so pthread_cond_timedwait@@GLIBC_2.3.2 1400 0.3421 libpthread-2.10.2.so libpthread-2.10.2.so __pthread_mutex_unlock_usercnt 1400 100.000 libpthread-2.10.2.so libpthread-2.10.2.so __pthread_mutex_unlock_usercnt [self] ------------------------------------------------------------------------------- 3 0.2230 postgres postgres best_inner_indexscan 148 11.0037 postgres postgres add_paths_to_joinrel 156 11.5985 postgres postgres add_path 249 18.5130 postgres postgres set_cheapest 789 58.6617 postgres postgres get_cheapest_path_for_pathkeys 1383 0.3379 postgres postgres compare_path_costs 1383 100.000 postgres postgres compare_path_costs [self] ------------------------------------------------------------------------------- 1 0.0767 postgres postgres eqjoinsel 1 0.0767 postgres postgres hash_create 1 0.0767 postgres postgres list_concat_unique_ptr 1 0.0767 postgres postgres bms_difference 1 0.0767 postgres postgres make_inner_pathkeys_for_merge 1 0.0767 postgres postgres _copyRangeTblEntry 2 0.1534 postgres postgres element_alloc 3 0.2301 postgres postgres replace_rte_variables_mutator 4 0.3067 postgres postgres MemoryContextCreate 5 0.3834 postgres postgres MemoryContextStrdup 5 0.3834 postgres postgres list_difference_ptr 8 0.6135 postgres postgres build_join_rel 9 0.6902 postgres postgres add_paths_to_joinrel 10 0.7669 postgres postgres build_joinrel_tlist 11 0.8436 postgres postgres copyObject 14 1.0736 postgres postgres generate_join_implied_equalities 14 1.0736 postgres postgres expression_tree_mutator 15 1.1503 postgres postgres list_copy 19 1.4571 postgres postgres select_outer_pathkeys_for_merge 20 1.5337 postgres postgres DynaHashAlloc 21 1.6104 postgres postgres lcons 22 1.6871 postgres postgres add_path 26 1.9939 postgres postgres bms_copy 192 14.7239 postgres postgres lappend_cell 385 29.5245 postgres postgres lappend 513 39.3405 postgres postgres new_list 1310 0.3201 postgres postgres MemoryContextAlloc 1310 100.000 postgres postgres MemoryContextAlloc [self] ------------------------------------------------------------------------------- 5 0.3873 postgres postgres build_join_rel 103 7.9783 postgres postgres find_join_rel 1183 91.6344 postgres postgres hash_search 1291 0.3154 postgres postgres bitmap_hash 1291 100.000 postgres postgres bitmap_hash [self] ------------------------------------------------------------------------------- 6 42.8571 postgres postgres make_join_rel 8 57.1429 postgres postgres add_paths_to_joinrel 1290 0.3152 postgres postgres list_truncate 1290 100.000 postgres postgres list_truncate [self] ------------------------------------------------------------------------------- 1218 0.2976 libnspr4.so libnspr4.so /usr/local/firefox-3.5.2/libnspr4.so 1218 100.000 libnspr4.so libnspr4.so /usr/local/firefox-3.5.2/libnspr4.so [self] ------------------------------------------------------------------------------- 1186 0.2898 intel_drv.so intel_drv.so /usr/lib/xorg/modules/drivers/intel_drv.so 1186 100.000 intel_drv.so intel_drv.so /usr/lib/xorg/modules/drivers/intel_drv.so [self] ------------------------------------------------------------------------------- 1 0.0469 postgres postgres makeString 1 0.0469 postgres postgres best_inner_indexscan 1 0.0469 postgres postgres make_join_rel 1 0.0469 postgres postgres _copyResTarget 2 0.0938 postgres postgres create_index_path 2 0.0938 postgres postgres get_relation_info 2 0.0938 postgres postgres build_simple_rel 2 0.0938 postgres postgres makeVar 5 0.2345 postgres postgres _copyRangeTblEntry 40 1.8762 postgres postgres copyObject 66 3.0957 postgres postgres create_material_path 75 3.5178 postgres postgres create_hashjoin_path 84 3.9400 postgres postgres add_paths_to_joinrel 89 4.1745 postgres postgres build_join_rel 554 25.9850 postgres postgres create_mergejoin_path 1207 56.6135 postgres postgres create_nestloop_path 1134 0.2771 postgres postgres MemoryContextAllocZeroAligned 1134 53.1396 postgres postgres MemoryContextAllocZeroAligned [self] 993 46.5323 postgres postgres AllocSetAlloc 7 0.3280 libc-2.10.2.so postgres malloc ------------------------------------------------------------------------------- 1119 0.2734 libflashplayer.so libflashplayer.so /home/wulczer/.mozilla/plugins/libflashplayer.so 1119 100.000 libflashplayer.so libflashplayer.so /home/wulczer/.mozilla/plugins/libflashplayer.so [self] ------------------------------------------------------------------------------- 1026 0.2507 libX11.so.6.3.0 libX11.so.6.3.0 /usr/lib/libX11.so.6.3.0 1026 100.000 libX11.so.6.3.0 libX11.so.6.3.0 /usr/lib/libX11.so.6.3.0 [self] ------------------------------------------------------------------------------- 11 0.4186 postgres postgres make_join_rel 2617 99.5814 postgres postgres add_paths_to_joinrel 917 0.2240 postgres postgres get_cheapest_path_for_pathkeys 917 34.8935 postgres postgres get_cheapest_path_for_pathkeys [self] 816 31.0502 postgres postgres pathkeys_contained_in 789 30.0228 postgres postgres compare_path_costs 106 4.0335 postgres postgres compare_pathkeys ------------------------------------------------------------------------------- 5 0.2052 postgres postgres create_hashjoin_path 32 1.3131 postgres postgres create_mergejoin_path 44 1.8055 postgres postgres create_nestloop_path 120 4.9241 postgres postgres cost_hashjoin 865 35.4945 postgres postgres cost_mergejoin 1371 56.2577 postgres postgres cost_nestloop 899 0.2197 postgres postgres cost_qual_eval 1538 63.1104 postgres postgres cost_qual_eval_walker 899 36.8896 postgres postgres cost_qual_eval [self] ------------------------------------------------------------------------------- 1 0.1307 postgres postgres MemoryContextDeleteChildren 2 0.2614 postgres postgres best_inner_indexscan 3 0.3922 postgres postgres make_join_rel 9 1.1765 postgres postgres list_free_private 13 1.6993 postgres postgres select_outer_pathkeys_for_merge 32 4.1830 postgres postgres list_delete_cell 33 4.3137 postgres postgres add_path 89 11.6340 postgres postgres add_paths_to_joinrel 583 76.2092 postgres postgres pfree 765 0.1869 postgres postgres AllocSetFree 765 100.000 postgres postgres AllocSetFree [self] ------------------------------------------------------------------------------- 1 0.0293 postgres postgres find_list_position 1 0.0293 postgres postgres expandTupleDesc 1 0.0293 postgres postgres distribute_qual_to_rels 1 0.0293 postgres postgres choose_bitmap_and 2 0.0586 postgres postgres get_actual_clauses 2 0.0586 postgres postgres replace_rte_variables_mutator 2 0.0586 postgres postgres best_inner_indexscan 2 0.0586 postgres postgres find_usable_indexes 3 0.0880 postgres postgres expandRTE 3 0.0880 postgres postgres group_clauses_by_indexkey 4 0.1173 postgres postgres reduce_outer_joins_pass1 6 0.1759 postgres postgres set_joinrel_size_estimates 11 0.3225 postgres postgres AcquireRewriteLocks 13 0.3811 postgres postgres make_join_rel 43 1.2606 postgres postgres build_joinrel_restrictlist 55 1.6124 postgres postgres list_difference_ptr 62 1.8176 postgres postgres list_concat_unique_ptr 86 2.5213 postgres postgres expression_tree_mutator 132 3.8698 postgres postgres select_outer_pathkeys_for_merge 204 5.9807 postgres postgres add_paths_to_joinrel 261 7.6517 postgres postgres build_joinrel_tlist 332 9.7332 postgres postgres build_join_rel 476 13.9549 postgres postgres find_mergeclauses_for_pathkeys 479 14.0428 postgres postgres make_inner_pathkeys_for_merge 1229 36.0305 postgres postgres generate_join_implied_equalities 740 0.1808 postgres postgres lappend 1837 53.4322 postgres postgres new_list 740 21.5241 postgres postgres lappend [self] 476 13.8453 postgres postgres AllocSetAlloc 385 11.1984 postgres postgres MemoryContextAlloc ------------------------------------------------------------------------------- 4 0.0248 postgres postgres make_join_rel 16093 99.9752 postgres postgres build_join_rel 677 0.1654 postgres postgres find_join_rel 14985 93.0688 postgres postgres hash_search 677 4.2047 postgres postgres find_join_rel [self] 200 1.2422 postgres postgres hash_create 103 0.6397 postgres postgres bitmap_hash 70 0.4348 postgres postgres hash_search_with_hash_value 50 0.3105 postgres postgres bms_hash_value 11 0.0683 postgres postgres bms_equal 3 0.0186 libc-2.10.2.so postgres strlen 1 0.0062 postgres postgres seg_alloc 1 0.0062 postgres postgres AllocSetContextCreate ------------------------------------------------------------------------------- 15 0.5248 postgres postgres add_paths_to_joinrel 2843 99.4752 postgres postgres truncate_useless_pathkeys 657 0.1605 postgres postgres pathkeys_useful_for_merging 2069 72.3933 postgres postgres eclass_useful_for_merging 657 22.9881 postgres postgres pathkeys_useful_for_merging [self] 86 3.0091 postgres postgres cache_mergeclause_eclasses 33 1.1547 postgres postgres bms_overlap 13 0.4549 postgres postgres bms_is_subset ------------------------------------------------------------------------------- 6 0.4304 postgres postgres make_join_rel 1388 99.5696 postgres postgres build_join_rel 621 0.1517 postgres postgres build_joinrel_tlist 621 44.5481 postgres postgres build_joinrel_tlist [self] 416 29.8422 postgres postgres bms_nonempty_difference 261 18.7231 postgres postgres lappend 78 5.5954 postgres postgres find_base_rel 10 0.7174 postgres postgres MemoryContextAlloc 7 0.5022 postgres postgres AllocSetAlloc 1 0.0717 postgres postgres new_list ------------------------------------------------------------------------------- 1 0.0065 postgres postgres genericcostestimate 1 0.0065 postgres postgres relation_open 1 0.0065 postgres postgres pgstat_get_db_entry 1 0.0065 postgres postgres LockRelease 1 0.0065 postgres postgres RelationIdGetRelation 2 0.0130 postgres postgres make_join_rel 2 0.0130 postgres postgres load_relcache_init_file 3 0.0195 postgres postgres pgstat_collect_oids 5 0.0324 postgres postgres find_oper_cache_entry 6 0.0389 postgres postgres LockAcquireExtended 12 0.0779 postgres postgres get_tablespace_page_costs 393 2.5498 postgres postgres build_join_rel 14985 97.2231 postgres postgres find_join_rel 576 0.1407 postgres postgres hash_search 8203 53.4015 postgres postgres bms_hash_value 4073 26.5152 postgres postgres hash_search_with_hash_value 1199 7.8055 libc-2.10.2.so postgres memcpy 1183 7.7013 postgres postgres bitmap_hash 576 3.7498 postgres postgres hash_search [self] 114 0.7421 postgres postgres hash_any 5 0.0325 postgres postgres element_alloc 4 0.0260 libc-2.10.2.so postgres memcmp 3 0.0195 postgres postgres hash_uint32 1 0.0065 postgres postgres oid_hash ------------------------------------------------------------------------------- 1 0.1855 libc-2.10.2.so libc-2.10.2.so fdopen@@GLIBC_2.1 15 2.7829 libc-2.10.2.so libc-2.10.2.so calloc 31 5.7514 libc-2.10.2.so libc-2.10.2.so _int_realloc 492 91.2801 libc-2.10.2.so libc-2.10.2.so malloc 516 0.1261 libc-2.10.2.so libc-2.10.2.so _int_malloc 516 93.4783 libc-2.10.2.so libc-2.10.2.so _int_malloc [self] 35 6.3406 libc-2.10.2.so libc-2.10.2.so malloc_consolidate 1 0.1812 libc-2.10.2.so libc-2.10.2.so sbrk ------------------------------------------------------------------------------- 505 0.1234 libdbus-1.so.3.4.0 libdbus-1.so.3.4.0 /lib/libdbus-1.so.3.4.0 505 100.000 libdbus-1.so.3.4.0 libdbus-1.so.3.4.0 /lib/libdbus-1.so.3.4.0 [self] ------------------------------------------------------------------------------- 18 0.8625 postgres postgres truncate_useless_pathkeys 2069 99.1375 postgres postgres pathkeys_useful_for_merging 492 0.1202 postgres postgres eclass_useful_for_merging 1049 50.2635 postgres postgres bms_overlap 546 26.1620 postgres postgres bms_is_subset 492 23.5745 postgres postgres eclass_useful_for_merging [self] ------------------------------------------------------------------------------- 488 0.1192 libxcb.so.1.1.0 libxcb.so.1.1.0 /usr/lib/libxcb.so.1.1.0 488 100.000 libxcb.so.1.1.0 libxcb.so.1.1.0 /usr/lib/libxcb.so.1.1.0 [self] ------------------------------------------------------------------------------- 486 0.1187 libpixman-1.so.0.16.2 libpixman-1.so.0.16.2 /usr/lib/libpixman-1.so.0.16.2 486 100.000 libpixman-1.so.0.16.2 libpixman-1.so.0.16.2 /usr/lib/libpixman-1.so.0.16.2 [self] ------------------------------------------------------------------------------- 463 0.1131 bash bash /bin/bash 463 100.000 bash bash /bin/bash [self] ------------------------------------------------------------------------------- 7 0.6189 postgres postgres make_join_rel 124 10.9637 postgres postgres create_mergejoin_path 184 16.2688 postgres postgres add_paths_to_joinrel 816 72.1485 postgres postgres get_cheapest_path_for_pathkeys 434 0.1060 postgres postgres pathkeys_contained_in 697 61.6269 postgres postgres compare_pathkeys 434 38.3731 postgres postgres pathkeys_contained_in [self] ------------------------------------------------------------------------------- 15 3.4803 postgres postgres build_join_rel 416 96.5197 postgres postgres build_joinrel_tlist 431 0.1053 postgres postgres bms_nonempty_difference 431 100.000 postgres postgres bms_nonempty_difference [self] ------------------------------------------------------------------------------- 46 0.8342 postgres postgres make_join_rel 5468 99.1658 postgres postgres add_paths_to_joinrel 424 0.1036 postgres postgres create_nestloop_path 3681 66.7573 postgres postgres cost_nestloop 1207 21.8897 postgres postgres MemoryContextAllocZeroAligned 424 7.6895 postgres postgres create_nestloop_path [self] 105 1.9042 postgres postgres AllocSetAlloc 44 0.7980 postgres postgres cost_qual_eval 43 0.7798 postgres postgres adjust_semi_join 10 0.1814 libm-2.10.2.so postgres ceil ------------------------------------------------------------------------------- 1 0.1610 postgres postgres create_hashjoin_path 17 2.7375 postgres postgres create_mergejoin_path 67 10.7890 postgres postgres cost_hashjoin 536 86.3124 postgres postgres cost_mergejoin 423 0.1034 postgres postgres approx_tuple_count 423 68.1159 postgres postgres approx_tuple_count [self] 198 31.8841 postgres postgres clause_selectivity ------------------------------------------------------------------------------- 13 1.2671 postgres postgres make_join_rel 1013 98.7329 postgres postgres add_paths_to_joinrel 423 0.1034 postgres postgres find_mergeclauses_for_pathkeys 476 46.3938 postgres postgres lappend 423 41.2281 postgres postgres find_mergeclauses_for_pathkeys [self] 94 9.1618 postgres postgres cache_mergeclause_eclasses 24 2.3392 postgres postgres list_concat 9 0.8772 postgres postgres new_list ------------------------------------------------------------------------------- 422 0.1031 thunderbird-bin thunderbird-bin /usr/local/thunderbird-2.0.0.23/thunderbird-bin 422 100.000 thunderbird-bin thunderbird-bin /usr/local/thunderbird-2.0.0.23/thunderbird-bin [self] ------------------------------------------------------------------------------- 20 2.2805 postgres postgres create_mergejoin_path 857 97.7195 postgres postgres cost_mergejoin 381 0.0931 postgres postgres cost_sort 381 43.4436 postgres postgres cost_sort [self] 361 41.1631 libm-2.10.2.so postgres __ieee754_log 90 10.2623 libm-2.10.2.so postgres log 15 1.7104 libm-2.10.2.so postgres __i686.get_pc_thunk.bx 15 1.7104 libm-2.10.2.so postgres isnan 14 1.5964 libm-2.10.2.so postgres __i686.get_pc_thunk.dx 1 0.1140 postgres postgres tuplesort_merge_order ------------------------------------------------------------------------------- 379 0.0926 emacs23-x emacs23-x /usr/bin/emacs23-x 379 100.000 emacs23-x emacs23-x /usr/bin/emacs23-x [self] ------------------------------------------------------------------------------- 13 0.2005 postgres postgres make_join_rel 6472 99.7995 postgres postgres add_paths_to_joinrel 363 0.0887 postgres postgres create_mergejoin_path 4985 77.4189 postgres postgres cost_mergejoin 554 8.6038 postgres postgres MemoryContextAllocZeroAligned 363 5.6375 postgres postgres create_mergejoin_path [self] 288 4.4727 libm-2.10.2.so postgres rint 124 1.9258 postgres postgres pathkeys_contained_in 32 0.4970 postgres postgres cost_qual_eval 26 0.4038 postgres postgres AllocSetAlloc 20 0.3106 postgres postgres cost_sort 17 0.2640 postgres postgres approx_tuple_count 13 0.2019 postgres postgres compare_pathkeys 10 0.1553 postgres postgres bms_is_subset 7 0.1087 postgres postgres ExecSupportsMarkRestore ------------------------------------------------------------------------------- 361 0.0882 libm-2.10.2.so libm-2.10.2.so __ieee754_log 361 100.000 libm-2.10.2.so libm-2.10.2.so __ieee754_log [self] ------------------------------------------------------------------------------- 1 0.0495 postgres postgres list_difference_ptr 1 0.0495 postgres postgres set_joinrel_size_estimates 1 0.0495 postgres postgres add_path 1 0.0495 postgres postgres build_joinrel_tlist 1 0.0495 postgres postgres build_joinrel_restrictlist 2 0.0990 postgres postgres build_join_rel 5 0.2475 postgres postgres select_outer_pathkeys_for_merge 9 0.4455 postgres postgres add_paths_to_joinrel 9 0.4455 postgres postgres find_mergeclauses_for_pathkeys 16 0.7921 postgres postgres make_inner_pathkeys_for_merge 25 1.2376 postgres postgres list_copy 26 1.2871 postgres postgres generate_join_implied_equalities 86 4.2574 postgres postgres lcons 1837 90.9406 postgres postgres lappend 360 0.0880 postgres postgres new_list 1144 56.6056 postgres postgres AllocSetAlloc 513 25.3835 postgres postgres MemoryContextAlloc 360 17.8130 postgres postgres new_list [self] 4 0.1979 libc-2.10.2.so postgres malloc ------------------------------------------------------------------------------- 356 0.0870 libm-2.10.2.so libm-2.10.2.so rint 356 100.000 libm-2.10.2.so libm-2.10.2.so rint [self] ------------------------------------------------------------------------------- 1 0.1553 postgres postgres InitPostgres 1 0.1553 postgres postgres generate_join_implied_equalities 1 0.1553 postgres postgres get_func_cost 1 0.1553 postgres postgres op_mergejoinable 1 0.1553 postgres postgres oper 1 0.1553 postgres postgres RelationInitIndexAccessInfo 1 0.1553 postgres postgres get_oprjoin 2 0.3106 postgres postgres get_namespace_name 3 0.4658 postgres postgres get_atttypetypmod 3 0.4658 postgres postgres func_volatile 3 0.4658 postgres postgres get_attname 3 0.4658 postgres postgres get_rel_name 4 0.6211 postgres postgres select_equality_operator 5 0.7764 postgres postgres get_op_opfamily_strategy 6 0.9317 postgres postgres get_oprrest 6 0.9317 postgres postgres SearchSysCacheExists 7 1.0870 postgres postgres btcostestimate 9 1.3975 postgres postgres get_rte_attribute_is_dropped 11 1.7081 postgres postgres examine_variable 13 2.0186 postgres postgres get_attavgwidth 14 2.1739 postgres postgres get_typlen 161 25.0000 postgres postgres op_hashjoinable 387 60.0932 postgres postgres get_opfamily_member 334 0.0816 postgres postgres SearchCatCache 334 51.8634 postgres postgres SearchCatCache [self] 140 21.7391 postgres postgres CatalogCacheComputeHashValue 41 6.3665 postgres postgres oideq 31 4.8137 postgres postgres FunctionCall2 22 3.4161 postgres postgres heap_getsysattr 20 3.1056 postgres postgres ResourceOwnerRememberCatCacheRef 20 3.1056 postgres postgres ResourceOwnerEnlargeCatCacheRefs 17 2.6398 postgres postgres int2eq 10 1.5528 postgres postgres DirectFunctionCall1 4 0.6211 postgres postgres DLMoveToFront 3 0.4658 postgres postgres nocachegetattr 1 0.1553 postgres postgres systable_endscan 1 0.1553 postgres postgres systable_beginscan ------------------------------------------------------------------------------- 1 0.1095 postgres postgres list_delete_ptr 1 0.1095 postgres postgres btendscan 2 0.2191 postgres postgres set_joinrel_size_estimates 9 0.9858 postgres postgres MemoryContextDeleteChildren 17 1.8620 postgres postgres best_inner_indexscan 21 2.3001 postgres postgres list_free_private 45 4.9288 postgres postgres select_outer_pathkeys_for_merge 69 7.5575 postgres postgres make_join_rel 126 13.8007 postgres postgres list_delete_cell 176 19.2771 postgres postgres add_path 446 48.8499 postgres postgres add_paths_to_joinrel 330 0.0806 postgres postgres pfree 583 63.7856 postgres postgres AllocSetFree 330 36.1050 postgres postgres pfree [self] 1 0.1094 libc-2.10.2.so postgres free ------------------------------------------------------------------------------- 329 0.0804 libdrm_intel.so.1.0.0 libdrm_intel.so.1.0.0 /usr/lib/libdrm_intel.so.1.0.0 329 100.000 libdrm_intel.so.1.0.0 libdrm_intel.so.1.0.0 /usr/lib/libdrm_intel.so.1.0.0 [self] ------------------------------------------------------------------------------- 13 0.0640 postgres postgres make_join_rel 20311 99.9360 postgres postgres add_paths_to_joinrel 312 0.0762 postgres postgres select_outer_pathkeys_for_merge 19347 95.1835 postgres postgres make_canonical_pathkey 400 1.9679 postgres postgres bms_overlap 312 1.5350 postgres postgres select_outer_pathkeys_for_merge [self] 132 0.6494 postgres postgres lappend 45 0.2214 postgres postgres AllocSetAlloc 45 0.2214 postgres postgres pfree 19 0.0935 postgres postgres MemoryContextAlloc 13 0.0640 postgres postgres AllocSetFree 8 0.0394 postgres postgres cache_mergeclause_eclasses 5 0.0246 postgres postgres new_list ------------------------------------------------------------------------------- 12 0.0271 postgres postgres make_join_rel 44326 99.9729 postgres postgres add_paths_to_joinrel 305 0.0745 postgres postgres make_inner_pathkeys_for_merge 43507 98.1169 postgres postgres make_canonical_pathkey 479 1.0802 postgres postgres lappend 305 0.6878 postgres postgres make_inner_pathkeys_for_merge [self] 34 0.0767 postgres postgres cache_mergeclause_eclasses 16 0.0361 postgres postgres new_list 1 0.0023 postgres postgres MemoryContextAlloc CPU: Core 2, speed 2000 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 samples % image name app name symbol name ------------------------------------------------------------------------------- 224918 18.2833 no-vmlinux no-vmlinux /no-vmlinux 224918 100.000 no-vmlinux no-vmlinux /no-vmlinux [self] ------------------------------------------------------------------------------- 34 0.0146 postgres postgres build_join_rel 232525 99.9854 postgres postgres build_joinrel_restrictlist 145278 11.8095 postgres postgres generate_join_implied_equalities 145278 62.4623 postgres postgres generate_join_implied_equalities [self] 66836 28.7362 postgres postgres bms_overlap 10115 4.3489 postgres postgres bms_is_subset 5596 2.4060 postgres postgres lappend 2462 1.0585 postgres postgres select_equality_operator 905 0.3891 postgres postgres op_hashjoinable 901 0.3874 postgres postgres create_join_clause 208 0.0894 postgres postgres list_concat 114 0.0490 postgres postgres new_list 68 0.0292 postgres postgres MemoryContextAlloc 64 0.0275 postgres postgres AllocSetAlloc 14 0.0060 postgres postgres get_opfamily_member 9 0.0039 postgres postgres SearchSysCache 7 0.0030 postgres postgres ReleaseSysCache 4 0.0017 postgres postgres ReleaseCatCache 4 0.0017 postgres postgres SearchCatCache ------------------------------------------------------------------------------- 35 0.0253 postgres postgres add_paths_to_joinrel 119 0.0860 postgres postgres make_pathkey_from_sortinfo 50147 36.2289 postgres postgres select_outer_pathkeys_for_merge 88116 63.6598 postgres postgres make_inner_pathkeys_for_merge 138436 11.2533 postgres postgres make_canonical_pathkey 138436 100.000 postgres postgres make_canonical_pathkey [self] ------------------------------------------------------------------------------- 1 7.8e-04 postgres postgres have_join_order_restriction 1 7.8e-04 postgres postgres make_restrictinfo_internal 4 0.0031 postgres postgres distribute_qual_to_rels 6 0.0047 postgres postgres deconstruct_recurse 34 0.0264 postgres postgres check_outerjoin_delay 50 0.0389 postgres postgres add_paths_to_joinrel 225 0.1750 postgres postgres pathkeys_useful_for_merging 1120 0.8711 postgres postgres build_join_rel 1308 1.0174 postgres postgres make_join_rel 1572 1.2227 postgres postgres select_outer_pathkeys_for_merge 3630 2.8234 postgres postgres build_joinrel_restrictlist 4035 3.1384 postgres postgres eclass_useful_for_merging 19194 14.9292 postgres postgres has_relevant_eclass_joinclause 30551 23.7627 postgres postgres join_is_legal 66836 51.9853 postgres postgres generate_join_implied_equalities 128585 10.4525 postgres postgres bms_overlap 128585 100.000 postgres postgres bms_overlap [self] ------------------------------------------------------------------------------- 104213 8.4714 oprofiled oprofiled /usr/bin/oprofiled 104213 100.000 oprofiled oprofiled /usr/bin/oprofiled [self] ------------------------------------------------------------------------------- 1 0.0011 postgres postgres set_rel_pathlist 359 0.3774 postgres postgres make_join_rel 94764 99.6215 postgres postgres add_paths_to_joinrel 83537 6.7906 postgres postgres add_path 83537 87.8163 postgres postgres add_path [self] 4304 4.5245 postgres postgres compare_pathkeys 3220 3.3849 postgres postgres lappend_cell 1572 1.6525 postgres postgres list_delete_cell 841 0.8841 postgres postgres pfree 645 0.6780 postgres postgres lcons 580 0.6097 postgres postgres compare_path_costs 181 0.1903 postgres postgres AllocSetFree 122 0.1282 postgres postgres MemoryContextAlloc 95 0.0999 postgres postgres AllocSetAlloc 16 0.0168 postgres postgres new_list 9 0.0095 postgres postgres list_free_private 5 0.0053 postgres postgres list_free ------------------------------------------------------------------------------- 20 0.0463 postgres postgres make_join_rel 43197 99.9537 postgres postgres build_join_rel 23364 1.8992 postgres postgres has_relevant_eclass_joinclause 23364 54.0546 postgres postgres has_relevant_eclass_joinclause [self] 19194 44.4069 postgres postgres bms_overlap 665 1.5385 postgres postgres bms_is_subset ------------------------------------------------------------------------------- 1 0.0045 postgres postgres best_inner_indexscan 2 0.0091 postgres postgres have_join_order_restriction 21 0.0953 postgres postgres create_hashjoin_path 43 0.1952 postgres postgres find_eclass_clauses_for_index_join 57 0.2587 postgres postgres create_index_paths 69 0.3132 postgres postgres pathkeys_useful_for_merging 86 0.3903 postgres postgres create_mergejoin_path 185 0.8397 postgres postgres make_join_rel 416 1.8882 postgres postgres cost_hashjoin 665 3.0183 postgres postgres has_relevant_eclass_joinclause 1244 5.6463 postgres postgres join_is_legal 1593 7.2304 postgres postgres cost_mergejoin 1654 7.5073 postgres postgres add_paths_to_joinrel 1863 8.4559 postgres postgres eclass_useful_for_merging 1893 8.5920 postgres postgres build_join_rel 2125 9.6451 postgres postgres build_joinrel_restrictlist 10115 45.9105 postgres postgres generate_join_implied_equalities 22036 1.7913 postgres postgres bms_is_subset 22036 100.000 postgres postgres bms_is_subset [self] ------------------------------------------------------------------------------- 20876 1.6970 emacs23-x emacs23-x /usr/bin/emacs23-x 20876 100.000 emacs23-x emacs23-x /usr/bin/emacs23-x [self] ------------------------------------------------------------------------------- 51669 100.000 postgres postgres make_join_rel 19894 1.6172 postgres postgres join_is_legal 30551 59.1054 postgres postgres bms_overlap 19894 38.4879 postgres postgres join_is_legal [self] 1244 2.4067 postgres postgres bms_is_subset ------------------------------------------------------------------------------- 1 0.0059 postgres postgres replace_rte_variables_mutator 1 0.0059 postgres postgres find_join_rel 1 0.0059 postgres postgres eqsel 1 0.0059 postgres postgres element_alloc 1 0.0059 postgres postgres make_inner_pathkeys_for_merge 1 0.0059 postgres postgres truncate_useless_pathkeys 1 0.0059 postgres postgres choose_bitmap_and 1 0.0059 postgres postgres AllocSetContextCreate 1 0.0059 postgres postgres _copyRangeTblEntry 1 0.0059 postgres postgres datumCopy 1 0.0059 postgres postgres makeString 1 0.0059 postgres postgres btrescan 1 0.0059 postgres postgres ResourceOwnerEnlargeCatCacheRefs 2 0.0118 postgres postgres load_relcache_init_file 2 0.0118 postgres postgres seg_alloc 3 0.0177 postgres postgres bms_union 4 0.0237 postgres postgres list_difference_ptr 4 0.0237 postgres postgres bms_intersect 5 0.0296 postgres postgres MemoryContextAllocZero 12 0.0710 postgres postgres MemoryContextStrdup 12 0.0710 postgres postgres copyObject 14 0.0828 postgres postgres add_paths_to_joinrel 16 0.0947 postgres postgres list_concat_unique_ptr 16 0.0947 postgres postgres build_joinrel_tlist 24 0.1420 postgres postgres create_hashjoin_path 25 0.1479 postgres postgres MemoryContextCreate 28 0.1657 postgres postgres create_material_path 32 0.1893 postgres postgres expression_tree_mutator 64 0.3786 postgres postgres generate_join_implied_equalities 95 0.5620 postgres postgres add_path 154 0.9111 postgres postgres DynaHashAlloc 166 0.9821 postgres postgres build_join_rel 177 1.0472 postgres postgres create_mergejoin_path 189 1.1181 postgres postgres lcons 276 1.6328 postgres postgres hash_create 278 1.6447 postgres postgres select_outer_pathkeys_for_merge 293 1.7334 postgres postgres bms_copy 336 1.9878 postgres postgres list_copy 507 2.9995 postgres postgres create_nestloop_path 1275 7.5430 postgres postgres lappend_cell 2292 13.5597 postgres postgres lappend 4809 28.4506 postgres postgres MemoryContextAllocZeroAligned 5780 34.1951 postgres postgres new_list 16276 1.3231 postgres postgres AllocSetAlloc 16276 95.8483 postgres postgres AllocSetAlloc [self] 675 3.9750 libc-2.10.2.so postgres malloc 26 0.1531 libc-2.10.2.so postgres __i686.get_pc_thunk.bx 4 0.0236 libc-2.10.2.so postgres _int_malloc ------------------------------------------------------------------------------- 15832 1.2870 libxul.so libxul.so /usr/local/firefox-3.5.2/libxul.so 15832 100.000 libxul.so libxul.so /usr/local/firefox-3.5.2/libxul.so [self] ------------------------------------------------------------------------------- 11182 0.9090 thunderbird-bin thunderbird-bin /usr/local/thunderbird-2.0.0.23/thunderbird-bin 11182 100.000 thunderbird-bin thunderbird-bin /usr/local/thunderbird-2.0.0.23/thunderbird-bin [self] ------------------------------------------------------------------------------- 103 0.4064 postgres postgres add_paths_to_joinrel 25244 99.5936 postgres postgres create_mergejoin_path 10948 0.8900 postgres postgres cost_mergejoin 10948 43.3018 postgres postgres cost_mergejoin [self] 4872 19.2699 postgres postgres cost_sort 4602 18.2020 postgres postgres cost_qual_eval 2599 10.2796 postgres postgres approx_tuple_count 1593 6.3007 postgres postgres bms_is_subset 251 0.9928 libm-2.10.2.so postgres rint 167 0.6605 postgres postgres cost_qual_eval_walker 99 0.3916 libm-2.10.2.so postgres ceil 71 0.2808 postgres postgres clause_selectivity 56 0.2215 postgres postgres ExecSupportsMarkRestore 22 0.0870 libm-2.10.2.so postgres log 3 0.0119 postgres postgres mergejoinscansel ------------------------------------------------------------------------------- 225 1.2307 postgres postgres add_paths_to_joinrel 18057 98.7693 postgres postgres create_nestloop_path 10692 0.8691 postgres postgres cost_nestloop 10692 58.4710 postgres postgres cost_nestloop [self] 6776 37.0557 postgres postgres cost_qual_eval 594 3.2484 postgres postgres adjust_semi_join 224 1.2250 postgres postgres cost_qual_eval_walker ------------------------------------------------------------------------------- 1 0.3534 libc-2.10.2.so libc-2.10.2.so __strftime_internal 1 0.3534 libc-2.10.2.so libc-2.10.2.so getline 2 0.7067 libc-2.10.2.so libc-2.10.2.so setlocale 2 0.7067 libc-2.10.2.so libc-2.10.2.so tzset_internal 4 1.4134 libc-2.10.2.so libc-2.10.2.so qsort_r 20 7.0671 libc-2.10.2.so libc-2.10.2.so msort_with_tmp 27 9.5406 libc-2.10.2.so libc-2.10.2.so realloc 37 13.0742 libc-2.10.2.so libc-2.10.2.so _IO_sgetn 84 29.6820 libc-2.10.2.so libc-2.10.2.so _IO_getline 105 37.1025 libc-2.10.2.so libc-2.10.2.so vfprintf 9738 0.7916 libc-2.10.2.so libc-2.10.2.so memcpy 9738 100.000 libc-2.10.2.so libc-2.10.2.so memcpy [self] ------------------------------------------------------------------------------- 266 2.8967 postgres postgres hash_search 8917 97.1033 postgres postgres bms_hash_value 9184 0.7466 postgres postgres hash_any 9184 100.000 postgres postgres hash_any [self] ------------------------------------------------------------------------------- 355315 100.000 postgres postgres make_join_rel 8981 0.7301 postgres postgres add_paths_to_joinrel 94764 26.6661 postgres postgres add_path 92165 25.9347 postgres postgres make_inner_pathkeys_for_merge 54700 15.3923 postgres postgres select_outer_pathkeys_for_merge 32561 9.1625 postgres postgres create_mergejoin_path 27101 7.6261 postgres postgres create_nestloop_path 13317 3.7473 postgres postgres truncate_useless_pathkeys 8981 2.5272 postgres postgres add_paths_to_joinrel [self] 8157 2.2953 postgres postgres get_cheapest_path_for_pathkeys 5251 1.4776 postgres postgres find_mergeclauses_for_pathkeys 4369 1.2294 postgres postgres create_hashjoin_path 3302 0.9292 postgres postgres best_inner_indexscan 2154 0.6061 postgres postgres pfree 1654 0.4654 postgres postgres bms_is_subset 1219 0.3430 postgres postgres lappend 936 0.2634 postgres postgres compare_pathkeys 799 0.2248 postgres postgres create_material_path 759 0.2136 postgres postgres pathkeys_contained_in 443 0.1247 postgres postgres MemoryContextAllocZeroAligned 435 0.1224 postgres postgres AllocSetFree 378 0.1064 postgres postgres compare_path_costs 230 0.0647 postgres postgres cache_mergeclause_eclasses 225 0.0633 postgres postgres cost_nestloop 187 0.0526 postgres postgres list_copy 171 0.0481 postgres postgres build_join_pathkeys 120 0.0338 postgres postgres pathkeys_useful_for_ordering 117 0.0329 postgres postgres lappend_cell 103 0.0290 postgres postgres cost_mergejoin 99 0.0279 postgres postgres pathkeys_useful_for_merging 78 0.0219 postgres postgres list_truncate 78 0.0219 postgres postgres list_delete_ptr 75 0.0211 postgres postgres list_delete_cell 67 0.0189 postgres postgres lcons 53 0.0149 postgres postgres list_concat 52 0.0146 postgres postgres ExecMaterializesOutput 50 0.0141 postgres postgres bms_overlap 42 0.0118 postgres postgres bms_equal 35 0.0098 postgres postgres make_canonical_pathkey 32 0.0090 postgres postgres new_list 28 0.0079 postgres postgres bms_intersect 22 0.0062 postgres postgres bms_is_empty 20 0.0056 postgres postgres MemoryContextAlloc 14 0.0039 postgres postgres AllocSetAlloc 14 0.0039 postgres postgres cost_material 10 0.0028 postgres postgres bms_free 6 0.0017 postgres postgres cost_hashjoin ------------------------------------------------------------------------------- 8694 0.7067 Xorg Xorg /usr/bin/Xorg 8694 100.000 Xorg Xorg /usr/bin/Xorg [self] ------------------------------------------------------------------------------- 1 0.0120 postgres postgres cost_qual_eval_walker 29 0.3491 postgres postgres cost_hashjoin 167 2.0106 postgres postgres cost_mergejoin 224 2.6968 postgres postgres cost_nestloop 7885 94.9314 postgres postgres cost_qual_eval 8305 0.6751 postgres postgres cost_qual_eval_walker 8305 99.9759 postgres postgres cost_qual_eval_walker [self] 1 0.0120 postgres postgres cost_qual_eval_walker 1 0.0120 postgres postgres get_func_cost ------------------------------------------------------------------------------- 7 0.0844 postgres postgres set_cheapest 66 0.7959 postgres postgres create_mergejoin_path 360 4.3410 postgres postgres get_cheapest_path_for_pathkeys 936 11.2866 postgres postgres add_paths_to_joinrel 2620 31.5929 postgres postgres pathkeys_contained_in 4304 51.8992 postgres postgres add_path 8295 0.6743 postgres postgres compare_pathkeys 8295 100.000 postgres postgres compare_pathkeys [self] ------------------------------------------------------------------------------- 7952 0.6464 libmozjs.so libmozjs.so /usr/local/firefox-3.5.2/libmozjs.so 7952 100.000 libmozjs.so libmozjs.so /usr/local/firefox-3.5.2/libmozjs.so [self] ------------------------------------------------------------------------------- 2 0.0258 postgres postgres LockAcquireExtended 2 0.0258 postgres postgres CleanUpLock 3 0.0386 postgres postgres build_join_rel 3 0.0386 postgres postgres BufTableLookup 141 1.8163 postgres postgres find_join_rel 7612 98.0549 postgres postgres hash_search 7252 0.5895 postgres postgres hash_search_with_hash_value 7252 93.4055 postgres postgres hash_search_with_hash_value [self] 446 5.7445 postgres postgres element_alloc 58 0.7470 postgres postgres seg_alloc 8 0.1030 postgres postgres DynaHashAlloc ------------------------------------------------------------------------------- 6684 0.5433 libQtGui.so.4.5.3 libQtGui.so.4.5.3 /usr/lib/libQtGui.so.4.5.3 6684 100.000 libQtGui.so.4.5.3 libQtGui.so.4.5.3 /usr/lib/libQtGui.so.4.5.3 [self] ------------------------------------------------------------------------------- 6382 0.5188 libQtCore.so.4.5.3 libQtCore.so.4.5.3 /usr/lib/libQtCore.so.4.5.3 6382 100.000 libQtCore.so.4.5.3 libQtCore.so.4.5.3 /usr/lib/libQtCore.so.4.5.3 [self] ------------------------------------------------------------------------------- 1 0.0164 postgres postgres MemoryContextStrdup 1 0.0164 postgres postgres load_relcache_init_file 2 0.0328 postgres postgres seg_alloc 2 0.0328 postgres postgres replace_rte_variables_mutator 2 0.0328 postgres postgres truncate_useless_pathkeys 4 0.0657 postgres postgres element_alloc 4 0.0657 postgres postgres bms_union 6 0.0985 postgres postgres hash_create 6 0.0985 postgres postgres make_inner_pathkeys_for_merge 8 0.1314 postgres postgres copyObject 9 0.1478 postgres postgres bms_intersect 10 0.1642 postgres postgres list_concat_unique_ptr 13 0.2135 postgres postgres list_difference_ptr 20 0.3284 postgres postgres MemoryContextCreate 20 0.3284 postgres postgres add_paths_to_joinrel 25 0.4105 postgres postgres expression_tree_mutator 44 0.7225 postgres postgres build_joinrel_tlist 50 0.8210 postgres postgres build_join_rel 58 0.9524 postgres postgres DynaHashAlloc 68 1.1166 postgres postgres generate_join_implied_equalities 97 1.5928 postgres postgres select_outer_pathkeys_for_merge 109 1.7898 postgres postgres list_copy 110 1.8062 postgres postgres lcons 120 1.9704 postgres postgres bms_copy 122 2.0033 postgres postgres add_path 888 14.5813 postgres postgres lappend_cell 1698 27.8818 postgres postgres lappend 2593 42.5780 postgres postgres new_list 6138 0.4990 postgres postgres MemoryContextAlloc 6138 100.000 postgres postgres MemoryContextAlloc [self] ------------------------------------------------------------------------------- 5975 0.4857 libglib-2.0.so.0.2200.3 libglib-2.0.so.0.2200.3 /lib/libglib-2.0.so.0.2200.3 5975 100.000 libglib-2.0.so.0.2200.3 libglib-2.0.so.0.2200.3 /lib/libglib-2.0.so.0.2200.3 [self] ------------------------------------------------------------------------------- 1 0.0093 postgres postgres get_eclass_for_sort_expr 1 0.0093 postgres postgres create_index_path 1 0.0093 postgres postgres makeTargetEntry 1 0.0093 postgres postgres makeVar 1 0.0093 postgres postgres create_bitmap_heap_path 6 0.0560 postgres postgres make_join_rel 8 0.0747 postgres postgres _copyRangeTblEntry 51 0.4759 postgres postgres copyObject 397 3.7047 postgres postgres create_hashjoin_path 398 3.7141 postgres postgres create_material_path 443 4.1340 postgres postgres add_paths_to_joinrel 479 4.4700 postgres postgres build_join_rel 2869 26.7730 postgres postgres create_mergejoin_path 6060 56.5510 postgres postgres create_nestloop_path 5902 0.4798 postgres postgres MemoryContextAllocZeroAligned 5902 55.0765 postgres postgres MemoryContextAllocZeroAligned [self] 4809 44.8768 postgres postgres AllocSetAlloc 5 0.0467 libc-2.10.2.so postgres malloc ------------------------------------------------------------------------------- 2 0.0160 postgres postgres set_baserel_size_estimates 28 0.2236 postgres postgres create_hashjoin_path 143 1.1421 postgres postgres create_mergejoin_path 202 1.6133 postgres postgres create_nestloop_path 768 6.1337 postgres postgres cost_hashjoin 4602 36.7543 postgres postgres cost_mergejoin 6776 54.1171 postgres postgres cost_nestloop 4639 0.3771 postgres postgres cost_qual_eval 7885 62.9591 postgres postgres cost_qual_eval_walker 4639 37.0409 postgres postgres cost_qual_eval [self] ------------------------------------------------------------------------------- 1 0.0252 postgres postgres make_join_rel 378 9.5094 postgres postgres add_paths_to_joinrel 580 14.5912 postgres postgres add_path 1226 30.8428 postgres postgres set_cheapest 1790 45.0314 postgres postgres get_cheapest_path_for_pathkeys 4155 0.3378 postgres postgres compare_path_costs 4155 100.000 postgres postgres compare_path_costs [self] ------------------------------------------------------------------------------- 1 0.0268 postgres postgres MemoryContextDeleteChildren 24 0.6441 postgres postgres make_join_rel 25 0.6710 postgres postgres best_inner_indexscan 37 0.9930 postgres postgres list_free_private 58 1.5566 postgres postgres select_outer_pathkeys_for_merge 181 4.8578 postgres postgres add_path 198 5.3140 postgres postgres list_delete_cell 435 11.6747 postgres postgres add_paths_to_joinrel 2767 74.2619 postgres postgres pfree 3726 0.3029 postgres postgres AllocSetFree 3726 100.000 postgres postgres AllocSetFree [self] ------------------------------------------------------------------------------- 1 0.0060 postgres postgres get_actual_clauses 1 0.0060 postgres postgres group_clauses_by_indexkey 1 0.0060 postgres postgres add_eq_member 1 0.0060 postgres postgres expandTupleDesc 1 0.0060 postgres postgres buildRelationAliases 1 0.0060 postgres postgres create_join_clause 1 0.0060 postgres postgres find_eclass_clauses_for_index_join 1 0.0060 postgres postgres transformFromClauseItem 1 0.0060 postgres postgres best_inner_indexscan 1 0.0060 postgres postgres add_vars_to_targetlist 3 0.0181 postgres postgres replace_rte_variables_mutator 3 0.0181 postgres postgres extractRemainingColumns 10 0.0605 postgres postgres AcquireRewriteLocks 32 0.1935 postgres postgres set_joinrel_size_estimates 84 0.5079 postgres postgres expression_tree_mutator 103 0.6228 postgres postgres make_join_rel 185 1.1186 postgres postgres build_joinrel_restrictlist 293 1.7717 postgres postgres list_difference_ptr 350 2.1163 postgres postgres list_concat_unique_ptr 630 3.8094 postgres postgres select_outer_pathkeys_for_merge 1217 7.3588 postgres postgres build_joinrel_tlist 1219 7.3709 postgres postgres add_paths_to_joinrel 1873 11.3254 postgres postgres build_join_rel 2460 14.8748 postgres postgres find_mergeclauses_for_pathkeys 2470 14.9353 postgres postgres make_inner_pathkeys_for_merge 5596 33.8372 postgres postgres generate_join_implied_equalities 3520 0.2861 postgres postgres lappend 9135 54.8748 postgres postgres new_list 3520 21.1450 postgres postgres lappend [self] 2292 13.7682 postgres postgres AllocSetAlloc 1698 10.2000 postgres postgres MemoryContextAlloc 2 0.0120 libc-2.10.2.so postgres malloc ------------------------------------------------------------------------------- 3507 0.2851 libpthread-2.10.2.so libpthread-2.10.2.so pthread_mutex_lock 3507 100.000 libpthread-2.10.2.so libpthread-2.10.2.so pthread_mutex_lock [self] ------------------------------------------------------------------------------- 99 0.8091 postgres postgres add_paths_to_joinrel 12137 99.1909 postgres postgres truncate_useless_pathkeys 3250 0.2642 postgres postgres pathkeys_useful_for_merging 8445 69.0120 postgres postgres eclass_useful_for_merging 3250 26.5588 postgres postgres pathkeys_useful_for_merging [self] 247 2.0185 postgres postgres cache_mergeclause_eclasses 225 1.8387 postgres postgres bms_overlap 69 0.5639 postgres postgres bms_is_subset 1 0.0082 postgres postgres get_rightop ------------------------------------------------------------------------------- 69 0.8388 postgres postgres make_join_rel 8157 99.1612 postgres postgres add_paths_to_joinrel 3121 0.2537 postgres postgres get_cheapest_path_for_pathkeys 3121 37.9361 postgres postgres get_cheapest_path_for_pathkeys [self] 2956 35.9305 postgres postgres pathkeys_contained_in 1790 21.7576 postgres postgres compare_path_costs 360 4.3758 postgres postgres compare_pathkeys ------------------------------------------------------------------------------- 2951 0.2399 libmozjs.so libmozjs.so /usr/local/thunderbird-2.0.0.23/libmozjs.so 2951 100.000 libmozjs.so libmozjs.so /usr/local/thunderbird-2.0.0.23/libmozjs.so [self] ------------------------------------------------------------------------------- 5 0.0422 postgres postgres build_join_rel 130 1.0960 postgres postgres find_join_rel 11726 98.8618 postgres postgres hash_search 2946 0.2395 postgres postgres bms_hash_value 8917 75.1665 postgres postgres hash_any 2946 24.8335 postgres postgres bms_hash_value [self] ------------------------------------------------------------------------------- 2856 0.2322 libpixman-1.so.0.16.2 libpixman-1.so.0.16.2 /usr/lib/libpixman-1.so.0.16.2 2856 100.000 libpixman-1.so.0.16.2 libpixman-1.so.0.16.2 /usr/lib/libpixman-1.so.0.16.2 [self] ------------------------------------------------------------------------------- 2734 0.2222 intel_drv.so intel_drv.so /usr/lib/xorg/modules/drivers/intel_drv.so 2734 100.000 intel_drv.so intel_drv.so /usr/lib/xorg/modules/drivers/intel_drv.so [self] ------------------------------------------------------------------------------- 2716 0.2208 libxpcom_core.so libxpcom_core.so /usr/local/thunderbird-2.0.0.23/libxpcom_core.so 2716 100.000 libxpcom_core.so libxpcom_core.so /usr/local/thunderbird-2.0.0.23/libxpcom_core.so [self] ------------------------------------------------------------------------------- 3 37.5000 libpthread-2.10.2.so libpthread-2.10.2.so pthread_cond_timedwait@@GLIBC_2.3.2 5 62.5000 libpthread-2.10.2.so libpthread-2.10.2.so pthread_cond_wait@@GLIBC_2.3.2 2658 0.2161 libpthread-2.10.2.so libpthread-2.10.2.so __pthread_mutex_unlock_usercnt 2658 100.000 libpthread-2.10.2.so libpthread-2.10.2.so __pthread_mutex_unlock_usercnt [self] ------------------------------------------------------------------------------- 93 1.0892 postgres postgres truncate_useless_pathkeys 8445 98.9108 postgres postgres pathkeys_useful_for_merging 2641 0.2147 postgres postgres eclass_useful_for_merging 4035 47.2538 postgres postgres bms_overlap 2641 30.9287 postgres postgres eclass_useful_for_merging [self] 1863 21.8175 postgres postgres bms_is_subset ------------------------------------------------------------------------------- 2559 0.2080 libnspr4.so libnspr4.so /usr/local/thunderbird-2.0.0.23/libnspr4.so 2559 100.000 libnspr4.so libnspr4.so /usr/local/thunderbird-2.0.0.23/libnspr4.so [self] ------------------------------------------------------------------------------- 30 0.5403 postgres postgres make_join_rel 5522 99.4597 postgres postgres build_join_rel 2524 0.2052 postgres postgres build_joinrel_tlist 2524 45.4611 postgres postgres build_joinrel_tlist [self] 1489 26.8192 postgres postgres bms_nonempty_difference 1217 21.9200 postgres postgres lappend 253 4.5569 postgres postgres find_base_rel 44 0.7925 postgres postgres MemoryContextAlloc 16 0.2882 postgres postgres AllocSetAlloc 9 0.1621 postgres postgres new_list ------------------------------------------------------------------------------- 2471 0.2009 libXft.so.2.1.13 libXft.so.2.1.13 /usr/lib/libXft.so.2.1.13 2471 100.000 libXft.so.2.1.13 libXft.so.2.1.13 /usr/lib/libXft.so.2.1.13 [self] ------------------------------------------------------------------------------- 13 0.5280 postgres postgres build_join_rel 269 10.9261 postgres postgres find_join_rel 2180 88.5459 postgres postgres hash_search 2464 0.2003 postgres postgres bitmap_hash 2464 100.000 postgres postgres bitmap_hash [self] ------------------------------------------------------------------------------- 2443 0.1986 libX11.so.6.3.0 libX11.so.6.3.0 /usr/lib/libX11.so.6.3.0 2443 100.000 libX11.so.6.3.0 libX11.so.6.3.0 /usr/lib/libX11.so.6.3.0 [self] ------------------------------------------------------------------------------- 123 2.2888 postgres postgres make_join_rel 5251 97.7112 postgres postgres add_paths_to_joinrel 2304 0.1873 postgres postgres find_mergeclauses_for_pathkeys 2460 45.7674 postgres postgres lappend 2304 42.8651 postgres postgres find_mergeclauses_for_pathkeys [self] 409 7.6093 postgres postgres cache_mergeclause_eclasses 156 2.9023 postgres postgres list_concat 46 0.8558 postgres postgres new_list ------------------------------------------------------------------------------- 2261 0.1838 libgobject-2.0.so.0.2200.3 libgobject-2.0.so.0.2200.3 /usr/lib/libgobject-2.0.so.0.2200.3 2261 100.000 libgobject-2.0.so.0.2200.3 libgobject-2.0.so.0.2200.3 /usr/lib/libgobject-2.0.so.0.2200.3 [self] ------------------------------------------------------------------------------- 218 0.7980 postgres postgres make_join_rel 27101 99.2020 postgres postgres add_paths_to_joinrel 2227 0.1810 postgres postgres create_nestloop_path 18057 66.0969 postgres postgres cost_nestloop 6060 22.1824 postgres postgres MemoryContextAllocZeroAligned 2227 8.1518 postgres postgres create_nestloop_path [self] 507 1.8559 postgres postgres AllocSetAlloc 209 0.7650 postgres postgres adjust_semi_join 202 0.7394 postgres postgres cost_qual_eval 57 0.2086 libm-2.10.2.so postgres ceil ------------------------------------------------------------------------------- 60 1.2165 postgres postgres create_mergejoin_path 4872 98.7835 postgres postgres cost_mergejoin 2163 0.1758 postgres postgres cost_sort 2163 43.8564 postgres postgres cost_sort [self] 2147 43.5320 libm-2.10.2.so postgres __ieee754_log 336 6.8127 libm-2.10.2.so postgres log 118 2.3925 libm-2.10.2.so postgres __i686.get_pc_thunk.bx 116 2.3520 libm-2.10.2.so postgres isnan 46 0.9327 libm-2.10.2.so postgres __i686.get_pc_thunk.dx 6 0.1217 postgres postgres tuplesort_merge_order ------------------------------------------------------------------------------- 2149 0.1747 libm-2.10.2.so libm-2.10.2.so __ieee754_log 2149 100.000 libm-2.10.2.so libm-2.10.2.so __ieee754_log [self] ------------------------------------------------------------------------------- 38 32.7586 postgres postgres make_join_rel 78 67.2414 postgres postgres add_paths_to_joinrel 2148 0.1746 postgres postgres list_truncate 2148 100.000 postgres postgres list_truncate [self] ------------------------------------------------------------------------------- 12 0.3885 postgres postgres create_hashjoin_path 68 2.2014 postgres postgres create_mergejoin_path 410 13.2729 postgres postgres cost_hashjoin 2599 84.1373 postgres postgres cost_mergejoin 2141 0.1740 postgres postgres approx_tuple_count 2141 69.3105 postgres postgres approx_tuple_count [self] 948 30.6895 postgres postgres clause_selectivity ------------------------------------------------------------------------------- 2 0.0898 libc-2.10.2.so libc-2.10.2.so realloc 44 1.9766 libc-2.10.2.so libc-2.10.2.so calloc 73 3.2794 libc-2.10.2.so libc-2.10.2.so _int_realloc 2107 94.6541 libc-2.10.2.so libc-2.10.2.so malloc 2026 0.1647 libc-2.10.2.so libc-2.10.2.so _int_malloc 2026 89.5272 libc-2.10.2.so libc-2.10.2.so _int_malloc [self] 234 10.3403 libc-2.10.2.so libc-2.10.2.so malloc_consolidate 2 0.0884 libc-2.10.2.so libc-2.10.2.so sbrk 1 0.0442 libc-2.10.2.so libc-2.10.2.so __default_morecore ------------------------------------------------------------------------------- 1923 0.1563 libm-2.10.2.so libm-2.10.2.so rint 1923 100.000 libm-2.10.2.so libm-2.10.2.so rint [self] ------------------------------------------------------------------------------- 1 0.0099 postgres postgres truncate_useless_pathkeys 1 0.0099 postgres postgres build_joinrel_restrictlist 2 0.0198 postgres postgres expression_tree_mutator 2 0.0198 postgres postgres list_difference_ptr 3 0.0297 postgres postgres set_joinrel_size_estimates 9 0.0890 postgres postgres build_joinrel_tlist 9 0.0890 postgres postgres build_join_rel 14 0.1384 postgres postgres select_outer_pathkeys_for_merge 16 0.1582 postgres postgres add_path 32 0.3163 postgres postgres add_paths_to_joinrel 46 0.4547 postgres postgres find_mergeclauses_for_pathkeys 49 0.4844 postgres postgres make_inner_pathkeys_for_merge 114 1.1269 postgres postgres generate_join_implied_equalities 172 1.7003 postgres postgres list_copy 511 5.0514 postgres postgres lcons 9135 90.3025 postgres postgres lappend 1742 0.1416 postgres postgres new_list 5780 57.0977 postgres postgres AllocSetAlloc 2593 25.6149 postgres postgres MemoryContextAlloc 1742 17.2083 postgres postgres new_list [self] 8 0.0790 libc-2.10.2.so postgres malloc ------------------------------------------------------------------------------- 327133 100.000 postgres postgres make_join_rel 1708 0.1388 postgres postgres build_join_rel 239392 73.1681 postgres postgres build_joinrel_restrictlist 43197 13.2028 postgres postgres has_relevant_eclass_joinclause 27864 8.5164 postgres postgres find_join_rel 5522 1.6878 postgres postgres build_joinrel_tlist 1893 0.5786 postgres postgres bms_is_subset 1873 0.5725 postgres postgres lappend 1708 0.5220 postgres postgres build_join_rel [self] 1239 0.3787 postgres postgres hash_search 1210 0.3698 postgres postgres list_append_unique_ptr 1120 0.3423 postgres postgres bms_overlap 812 0.2482 postgres postgres set_joinrel_size_estimates 479 0.1464 postgres postgres MemoryContextAllocZeroAligned 181 0.0553 postgres postgres bms_copy 167 0.0510 libc-2.10.2.so postgres memcpy 166 0.0507 postgres postgres AllocSetAlloc 58 0.0177 postgres postgres bms_nonempty_difference 50 0.0153 postgres postgres MemoryContextAlloc 47 0.0144 libm-2.10.2.so postgres rint 45 0.0138 postgres postgres add_placeholders_to_joinrel 44 0.0134 postgres postgres find_base_rel 34 0.0104 postgres postgres generate_join_implied_equalities 24 0.0073 postgres postgres clauselist_selectivity 13 0.0040 postgres postgres bitmap_hash 9 0.0028 postgres postgres new_list 7 0.0021 postgres postgres list_free 6 0.0018 postgres postgres bms_equal 6 0.0018 postgres postgres list_concat 5 0.0015 postgres postgres bms_hash_value 5 0.0015 postgres postgres list_free_private 3 9.2e-04 postgres postgres hash_search_with_hash_value 2 6.1e-04 postgres postgres hash_create ------------------------------------------------------------------------------- 14 0.0502 postgres postgres make_join_rel 27864 99.9498 postgres postgres build_join_rel 1697 0.1379 postgres postgres find_join_rel 24634 88.3477 postgres postgres hash_search 1697 6.0861 postgres postgres find_join_rel [self] 900 3.2278 postgres postgres hash_create 269 0.9647 postgres postgres bitmap_hash 141 0.5057 postgres postgres hash_search_with_hash_value 130 0.4662 postgres postgres bms_hash_value 80 0.2869 postgres postgres bms_equal 17 0.0610 libc-2.10.2.so postgres strlen 9 0.0323 postgres postgres seg_alloc 2 0.0072 postgres postgres AllocSetContextCreate 2 0.0072 libc-2.10.2.so postgres strcpy 1 0.0036 postgres postgres DynaHashAlloc 1 0.0036 postgres postgres AllocSetAlloc ------------------------------------------------------------------------------- 2 0.0465 postgres postgres pathkeys_useful_for_ordering 30 0.6978 postgres postgres make_join_rel 552 12.8402 postgres postgres create_mergejoin_path 759 17.6553 postgres postgres add_paths_to_joinrel 2956 68.7602 postgres postgres get_cheapest_path_for_pathkeys 1680 0.1366 postgres postgres pathkeys_contained_in 2620 60.9302 postgres postgres compare_pathkeys 1680 39.0698 postgres postgres pathkeys_contained_in [self] ------------------------------------------------------------------------------- 24 0.0439 postgres postgres make_join_rel 54700 99.9561 postgres postgres add_paths_to_joinrel 1677 0.1363 postgres postgres select_outer_pathkeys_for_merge 50147 91.6245 postgres postgres make_canonical_pathkey 1677 3.0641 postgres postgres select_outer_pathkeys_for_merge [self] 1572 2.8722 postgres postgres bms_overlap 630 1.1511 postgres postgres lappend 278 0.5079 postgres postgres AllocSetAlloc 221 0.4038 postgres postgres pfree 97 0.1772 postgres postgres MemoryContextAlloc 58 0.1060 postgres postgres AllocSetFree 35 0.0639 postgres postgres cache_mergeclause_eclasses 14 0.0256 postgres postgres new_list 1 0.0018 postgres postgres list_copy 1 0.0018 libc-2.10.2.so postgres malloc ------------------------------------------------------------------------------- 1 0.0226 postgres postgres MemoryContextResetAndDeleteChildren 1 0.0226 postgres postgres IndexScanEnd 2 0.0452 postgres postgres list_delete_ptr 4 0.0903 postgres postgres set_joinrel_size_estimates 4 0.0903 postgres postgres btendscan 17 0.3838 postgres postgres MemoryContextDeleteChildren 88 1.9869 postgres postgres best_inner_indexscan 155 3.4997 postgres postgres list_free_private 221 4.9898 postgres postgres select_outer_pathkeys_for_merge 336 7.5864 postgres postgres make_join_rel 605 13.6600 postgres postgres list_delete_cell 841 18.9885 postgres postgres add_path 2154 48.6340 postgres postgres add_paths_to_joinrel 1672 0.1359 postgres postgres pfree 2767 62.3058 postgres postgres AllocSetFree 1672 37.6492 postgres postgres pfree [self] 2 0.0450 libc-2.10.2.so postgres free ------------------------------------------------------------------------------- 88 0.2695 postgres postgres make_join_rel 32561 99.7305 postgres postgres add_paths_to_joinrel 1653 0.1344 postgres postgres create_mergejoin_path 25244 77.8103 postgres postgres cost_mergejoin 2869 8.8432 postgres postgres MemoryContextAllocZeroAligned 1653 5.0951 postgres postgres create_mergejoin_path [self] 1480 4.5618 libm-2.10.2.so postgres rint 552 1.7014 postgres postgres pathkeys_contained_in 177 0.5456 postgres postgres AllocSetAlloc 143 0.4408 postgres postgres cost_qual_eval 86 0.2651 postgres postgres bms_is_subset 68 0.2096 postgres postgres approx_tuple_count 66 0.2034 postgres postgres compare_pathkeys 60 0.1849 postgres postgres cost_sort 45 0.1387 postgres postgres ExecSupportsMarkRestore ------------------------------------------------------------------------------- 58 3.7492 postgres postgres build_join_rel 1489 96.2508 postgres postgres build_joinrel_tlist 1547 0.1258 postgres postgres bms_nonempty_difference 1547 100.000 postgres postgres bms_nonempty_difference [self] 62999 15.3924 postgres postgres make_canonical_pathkey 33275 8.1300 postgres postgres bms_overlap 26656 6.5128 postgres postgres generate_join_implied_equalities 24336 5.9459 postgres postgres add_path 6735 1.6455 postgres postgres bms_is_subset 6356 1.5529 postgres postgres hash_any 5515 1.3475 postgres postgres has_relevant_eclass_joinclause 3951 0.9653 postgres postgres join_is_legal 3915 0.9565 postgres postgres hash_search_with_hash_value 3303 0.8070 postgres postgres AllocSetAlloc 2211 0.5402 postgres postgres cost_nestloop 2101 0.5133 postgres postgres cost_mergejoin 2016 0.4926 postgres postgres bms_hash_value 1860 0.4544 postgres postgres compare_pathkeys 1719 0.4200 postgres postgres add_paths_to_joinrel 145278 11.8095 postgres postgres generate_join_implied_equalities 138436 11.2533 postgres postgres make_canonical_pathkey 128585 10.4525 postgres postgres bms_overlap 83537 6.7906 postgres postgres add_path 23364 1.8992 postgres postgres has_relevant_eclass_joinclause 22036 1.7913 postgres postgres bms_is_subset 19894 1.6172 postgres postgres join_is_legal 16276 1.3231 postgres postgres AllocSetAlloc 10948 0.8900 postgres postgres cost_mergejoin 10692 0.8691 postgres postgres cost_nestloop 9184 0.7466 postgres postgres hash_any 8981 0.7301 postgres postgres add_paths_to_joinrel 8305 0.6751 postgres postgres cost_qual_eval_walker 8295 0.6743 postgres postgres compare_pathkeys 7252 0.5895 postgres postgres hash_search_with_hash_value 123054 16.4736 postgres postgres bms_overlap 93304 12.4909 postgres postgres make_canonical_pathkey 58600 7.8450 postgres postgres have_relevant_eclass_joinclause 43840 5.8690 postgres postgres add_path 43506 5.8243 postgres postgres bms_is_subset 21718 2.9075 postgres postgres generate_join_implied_equalities 16573 2.2187 postgres postgres have_join_order_restriction 5642 0.7553 postgres postgres has_relevant_eclass_joinclause 3686 0.4935 postgres postgres AllocSetAlloc 3271 0.4379 postgres postgres hash_any 2986 0.3997 postgres postgres cost_mergejoin 2977 0.3985 postgres postgres cost_nestloop 2914 0.3901 postgres postgres join_is_legal 2786 0.3730 postgres postgres compare_pathkeys 2288 0.3063 postgres postgres add_paths_to_joinrel
Attachment
pgsql-hackers by date: