Skip to content

Commit 1d9bdd2

Browse files
committed
Integrated resource owner patch by Alexander Alexeev. This patch makes performance of resource deletion linear of number of used resources, which improves performance for heavily partitioned tables and queries which use large number of resoures
1 parent c4bc89e commit 1d9bdd2

File tree

3 files changed

+380
-491
lines changed

3 files changed

+380
-491
lines changed

doc/src/sgml/release-pro-9.5.sgml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
<listitem>
2525
<para>
26+
Scalability improvement for multicore/multeprocessor systems.
2627
</para>
2728
</listitem>
2829

@@ -91,11 +92,19 @@
9192
<listitem>
9293
<!-- Put commit message here -->
9394
<para>
94-
95-
<!-- to be filled -->
95+
Scalability improvements for multicore/multiprocessor systems:
96+
</para>
97+
<itemizedlist>
98+
<listitem>
99+
<para>Resource owner optimisation for complicated queries: now
100+
resource lists has constant access time, which improves performance
101+
for heavily partitioned tables and queries which use hundreds of
102+
tables.
96103
</para>
97104
</listitem>
98105
</itemizedlist>
106+
</listitem>
107+
</itemizedlist>
99108

100109
</sect4>
101110

src/backend/access/hash/hashfunc.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,9 @@ hashvarlena(PG_FUNCTION_ARGS)
297297
* of 2. There is no need to do mod a prime (mod is sooo slow!).
298298
* If you need less than 32 bits, use a bitmask.
299299
*
300+
* This procedure never fails. Its important. Some code notably ResourceOwner
301+
* relies on this.
302+
*
300303
* Note: we could easily change this function to return a 64-bit hash value
301304
* by using the final values of both b and c. b is perhaps a little less
302305
* well mixed than c, however.

0 commit comments

Comments
 (0)