Re: [HACKERS] JIT & function naming
От | Konstantin Knizhnik |
---|---|
Тема | Re: [HACKERS] JIT & function naming |
Дата | |
Msg-id | 59ABA980.4000804@postgrespro.ru обсуждение исходный текст |
Ответ на | Re: [HACKERS] JIT & function naming (Andres Freund <andres@anarazel.de>) |
Список | pgsql-hackers |
On 09/03/2017 02:59 AM, Andres Freund wrote: > Hi, > > On 2017-08-31 23:41:31 -0700, Andres Freund wrote: >> I previously had an early prototype of JITing [1] expression evaluation >> and tuple deforming. I've since then worked a lot on this. >> >> Here's an initial, not really pretty but functional, submission. > One of the things I'm not really happy about yet is the naming of the > generated functions. Those primarily matter when doing profiling, where > the function name will show up when the profiler supports JIT stuff > (e.g. with a patch I proposed to LLVM that emits perf compatible output, > there's also existing LLVM support for a profiler by intel and > oprofile). > > Currently there's essentially a per EState counter and the generated > functions get named deform$n and evalexpr$n. That allows for profiling > of a single query, because different compiled expressions are > disambiguated. It even allows to run the same query over and over, still > giving meaningful results. But it breaks down when running multiple > queries while profiling - evalexpr0 can mean something entirely > different for different queries. > > The best idea I have so far would be to name queries like > evalexpr_$fingerprint_$n, but for that we'd need fingerprinting support > outside of pg_stat_statement, which seems painful-ish. > > Perhaps somebody has a better idea? As far as I understand we do not need precise fingerprint. So may be just calculate some lightweight fingerprint? For example take query text (es_sourceText from EText), replace all non-alphanumeric characters spaces with '_' and takefirst N (16?) characters of the result? It seems to me that in most cases it will help to identify the query... -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
В списке pgsql-hackers по дате отправления: