Re: embedded list v3
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@2ndquadrant.com>
Cc: pgsql-hackers@postgresql.org, Alvaro Herrera <alvherre@2ndquadrant.com>, Robert Haas <robertmhaas@gmail.com>, Peter Geoghegan <peter@2ndquadrant.com>
Date: 2012-10-01T15:33:01Z
Lists: pgsql-hackers
Andres Freund <andres@2ndquadrant.com> writes: > On Sunday, September 30, 2012 10:33:28 PM Tom Lane wrote: >> I'm still pretty desperately unhappy with your insistence on circularly >> linked dlists. Not only does that make initialization problematic, >> but now it's not even consistent with slists. > We literally have tens of thousands list manipulation a second if the server is > busy. Tens of thousands, with maybe 1ns extra per call, adds up to what? > I am really sorry for being stubborn here, but I changed to circular lists > after profiling and finding that pipeline stalls & misprediced branches where > the major thing I could change. Not sure how we can resolv this :( I'm going to be stubborn too. I think you're allowing very small micro-optimization arguments to contort the design of a fundamental data structure, in a way that makes it harder to use. That's not a tradeoff I like. Especially when the micro-optimization isn't even uniformly a win. I remain of the opinion that the extra cycles spent on iteration (which are real despite your denials) will outweigh any savings in list alteration in many use-cases. regards, tom lane
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Provide some static-assertion functionality on all compilers.
- 0d0aa5d29175 9.3.0 cited
-
Add infrastructure for compile-time assertions about variable types.
- ea473fb2dee7 9.3.0 cited
-
Remove 576 references of include files that were not needed.
- e0522505bd13 8.2.0 cited
-
More include file adjustments.
- b43ebe5f83b2 8.2.0 cited
-
Allow each C include file to compile on its own by including any needed
- b85a965f5fc7 8.2.0 cited