3 ms·
Yay Postgre and thanks for running the numbers. However, it would be nice to see a summary of the major changes that made a impact on the performance on each ve
by mtanski 12y ago
Yay Postgre and thanks for running the numbers. However, it would be nice to see a summary of the major changes that made a impact on the performance on each version. I like geeking out on db internals.
- pgaddict 12y agoI was considering that when writing that post, but that'd be a much longer post, especially if I was to explain the logic behind the changes. And without that, it's be just a list of release notes, so not really useful IMHO. That's why I included a link to Heikki's FOSDEM talk, discussing the changes in 9.2 in more detail. The best way to do identify the changes (in general) is probably by looking at release notes: http://www.postgresql.org/docs/9.4/static/release.html http://www.postgresql.org/docs/9.4/static/release.html The large changes should be in major releases, because minor releases are supposed to be just bugfixes, so don't bother with anything except 9.x release notes (effectively 9.x.0). There's usually a section called "performance", which for 9.2 contains for example these items: * Allow queries to retrieve data only from indexes, avoiding heap access (Robert Haas, Ibrar Ahmed, Heikki Linnakangas, Tom Lane) * Allow group commit to work effectively under heavy load (Peter Geoghegan, Simon Riggs, Heikki Linnakangas) * Allow uncontended locks to be managed using a new fast-path lock mechanism (Robert Haas) * Reduce overhead of creating virtual transaction ID locks (Robert Haas) * Improve PowerPC and Itanium spinlock performance (Manabu Ori, Robert Haas, Tom Lane) * Move the frequently accessed members of the PGPROC shared memory array to a separate array (Pavan Deolasee, Heikki Linnakangas, Robert Haas) There are other items, but these seem the most related to the pgbench improvements in this particular release. Each of these changes should be easy to track to a handful of commits in git. Measuring the contribution of each of these changes would require a much more testing, and would be tricky to do (because some of the bottlenecks were tightly related).