Re: cache type info in json_agg and friends
От
Teodor Sigaev
Тема
Re: cache type info in json_agg and friends
Дата
Msg-id
55F7230E.3090804@sigaev.ru
Ответ на
cache type info in json_agg and friends (Andrew Dunstan)
Список
Дерево обсуждения
cache type info in json_agg and friends Andrew Dunstan <andrew@dunslane.net>
Re: cache type info in json_agg and friends Alvaro Herrera <alvherre@2ndquadrant.com>
Re: cache type info in json_agg and friends Andrew Dunstan <andrew@dunslane.net>
Re: cache type info in json_agg and friends Teodor Sigaev <teodor@sigaev.ru>
Re: cache type info in json_agg and friends Andrew Dunstan <andrew@dunslane.net>
Re: cache type info in json_agg and friends Andrew Dunstan <andrew@dunslane.net>
> Currently, json_agg, jsonb_agg, json_object_agg and jsonb_object_agg do > type classification on their arguments on each call to the transition > function. This is quite unnecessary, as the argument types won't change. > This patch remedies the defect by caching the necessary values in the > aggregate state object. +1 > > While this doesn't change the performance much, since these functions > are essentially dominated by other bits of the processing, I think it is > nevertheless worth doing. Agree After quick observation of your patch, why don't you use FmgrInfo instead of JsonAggState.val_output_func/JsonAggState.key_category? FmgrInfo could be filled by fmgr_info_cxt() in aggcontext memory context. Suppose, direct usage of FmgrInfo with FunctionCall a bit faster than OidFunctionCall. -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/
В списке pgsql-hackers по дате отправления