Re: Pre-alloc ListCell's optimization
Stephen Frost <sfrost@snowman.net>
From: Stephen Frost <sfrost@snowman.net>
To: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2012-05-18T21:15:14Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Replace the parser's namespace tree (which formerly had the same
- a4996a895399 8.1.0 cited
-
Turns out that my recent elimination of the 'redundant' flatten_andors()
- 56c88772911b 8.1.0 cited
* Stephen Frost (sfrost@snowman.net) wrote: > Alright, so I've done some pgbench's using all default configs with just > a straight up './configure' and pgbench -S -T 300, 3 runs each and then > averaged: > > llist_opt: 9289 tps > HEAD: 9286 tps Ok, apparently part of the issue with the previous changes was that the way copyList() worked it still ended up doing multiple palloc's, and apparently that's used a lot. Reworking that gave us a bit more noticably improvement: llist_opt: 9407 tps Which gives us ~1.3% improvment. The current patch still only pre-alloc's 8 ListCell's, but I've modified it such that we might be able to use repalloc() to grow that number by 8 (or more..) instead of falling back to the regular palloc() for every ListCell when we get more than 8 entries. Thanks, Stephen