Re: Speed up JSON escape processing with SIMD plus other optimisations
От | Andrew Dunstan |
---|---|
Тема | Re: Speed up JSON escape processing with SIMD plus other optimisations |
Дата | |
Msg-id | 7e64cd70-1691-441e-a220-9549b83635f3@dunslane.net обсуждение исходный текст |
Ответ на | Re: Speed up JSON escape processing with SIMD plus other optimisations (David Rowley <dgrowleyml@gmail.com>) |
Ответы |
Re: Speed up JSON escape processing with SIMD plus other optimisations
|
Список | pgsql-hackers |
On 2024-05-22 We 22:15, David Rowley wrote: > On Thu, 23 May 2024 at 13:23, David Rowley <dgrowleyml@gmail.com> wrote: >> Master: >> $ pgbench -n -f bench.sql -T 10 -M prepared postgres | grep tps >> tps = 362.494309 (without initial connection time) >> tps = 363.182458 (without initial connection time) >> tps = 362.679654 (without initial connection time) >> >> Master + 0001 + 0002 >> $ pgbench -n -f bench.sql -T 10 -M prepared postgres | grep tps >> tps = 426.456885 (without initial connection time) >> tps = 430.573046 (without initial connection time) >> tps = 431.142917 (without initial connection time) >> >> About 18% faster. >> >> It would be much faster if we could also get rid of the >> escape_json_cstring() call in the switch default case of >> datum_to_json_internal(). row_to_json() would be heaps faster with >> that done. I considered adding a special case for the "text" type >> there, but in the end felt that we should just fix that with some >> hypothetical other patch that changes how output functions work. >> Others may feel it's worthwhile. I certainly could be convinced of it. > Just to turn that into performance numbers, I tried the attached > patch. The numbers came out better than I thought. > > Same test as before: > > master + 0001 + 0002 + attached hacks: > $ pgbench -n -f bench.sql -T 10 -M prepared postgres | grep tps > tps = 616.094394 (without initial connection time) > tps = 615.928236 (without initial connection time) > tps = 614.175494 (without initial connection time) > > About 70% faster than master. > That's all pretty nice! I'd take the win on this rather than wait for some hypothetical patch that changes how output functions work. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: