]> granicus.if.org Git - postgresql/commit
Speed up text sorts where the same strings occur multiple times.
authorRobert Haas <rhaas@postgresql.org>
Fri, 9 Oct 2015 23:03:44 +0000 (19:03 -0400)
committerRobert Haas <rhaas@postgresql.org>
Fri, 9 Oct 2015 23:03:44 +0000 (19:03 -0400)
commit0e57b4d8bd9674adaf5747421b3255b85e385534
tree77ed5d43101568ce44ef056e149641c235c34832
parentbfb54ff15a447fb22e9deae096e0d45b3e4bd56f
Speed up text sorts where the same strings occur multiple times.

Cache strxfrm() blobs across calls made to the text SortSupport
abbreviation routine.  This can speed up sorting if the same string
needs to be abbreviated many times in a row.

Also, cache the result of the previous strcoll() comparison, so that
if we're asked to compare the same strings agin, we do need to call
strcoll() again.

Perhaps surprisingly, these optimizations don't seem to hurt even when
they don't help.  memcmp() is really cheap compared to strcoll() or
strxfrm().

Peter Geoghegan, reviewed by me.
src/backend/utils/adt/varlena.c