improves ExecMakeFunctionResultNoSets
От | a_ogawa |
---|---|
Тема | improves ExecMakeFunctionResultNoSets |
Дата | |
Msg-id | PIEMIKOOMKNIJLLLBCBBEEJJCFAA.a_ogawa@hi-ho.ne.jp обсуждение исходный текст |
Ответы |
Re: improves ExecMakeFunctionResultNoSets
|
Список | pgsql-patches |
Attached patch improves ExecMakeFunctionResultNoSets, etc. This patch uses InitFunctionCallInfoData macro instead of MemSet to initialize FunctionCallInfoData. An idea of this patch discussed in the "FunctionCallN improvement" thread. (http://archives.postgresql.org/pgsql-hackers/2005-01/msg01054.php) To achieve this, InitFunctionCallInfoData macro was moved from fmgr.c to fmgr.h. test sql: select substr(c.relname, 1, 10) from pg_class c, pg_am, pg_amop; (There are pg_am and pg_amop only to increase the number of the records.) result of original code: ----------------------------------------------------------------------- Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls s/call s/call name 21.43 0.36 0.36 219911 0.00 0.00 ExecMakeFunctionResultNoSets 7.14 0.48 0.12 219912 0.00 0.00 pg_mbstrlen_with_len 6.25 0.58 0.10 1102916 0.00 0.00 AllocSetAlloc 5.36 0.68 0.09 5936448 0.00 0.00 pg_euc_mblen 5.36 0.77 0.09 5936448 0.00 0.00 pg_mblen result of after patch: ----------------------------------------------------------------------- Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls s/call s/call name 7.52 0.10 0.10 5936448 0.00 0.00 pg_mblen 7.14 0.20 0.10 1104587 0.00 0.00 AllocSetAlloc 6.77 0.28 0.09 219912 0.00 0.00 text_substring 6.39 0.37 0.09 1547723 0.00 0.00 AllocSetFreeIndex 6.02 0.45 0.08 219912 0.00 0.00 pg_mbstrlen_with_len 4.51 0.51 0.06 5936448 0.00 0.00 pg_euc_mblen 4.51 0.57 0.06 442745 0.00 0.00 ExecProcNode 4.51 0.63 0.06 219911 0.00 0.00 ExecMakeFunctionResultNoSets regards, --- Atsushi Ogawa
Вложения
В списке pgsql-patches по дате отправления: