Re: src/port/snprintf.c: Optimize the common base=10 case in fmtint

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Mark Dilger <mark.dilger@enterprisedb.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>, pgsql-hackers@postgresql.org
Date: 2021-10-26T17:51:55Z
Lists: pgsql-hackers
Mark Dilger <mark.dilger@enterprisedb.com> writes:
> It appears fmtint only has three options for base, being 10, 16, and 8.  Have you profiled with either of the others special cased as well?  I don't see much use in optimizing for octal, but hexadecimal is used quite a bit in wal with patterns like "%08X%08X%08X".

I'd be inclined to just hard-wire the three allowed cases, and not have
an arbitrary-divisor code path at all.

			regards, tom lane



Commits

  1. Speed up printing of integers in snprintf.c.