Re: [INTERFACES] Upgrading the backend's error-message infrastructure

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jean-Luc Lachance <jllachan(at)nsd(dot)ca>
Cc: pgsql-hackers(at)postgresql(dot)org, pgsql-interfaces(at)postgresql(dot)org
Subject: Re: [INTERFACES] Upgrading the backend's error-message infrastructure
Date: 2003-03-13 22:04:05
Message-ID: 9696.1047593045@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-interfaces

Jean-Luc Lachance <jllachan(at)nsd(dot)ca> writes:
> Why trade 5 characters for a 4 byte integer -- a saving of 1 byte?

It's more than that: in one case you have something on the order of
a "load immediate" instruction, whereas in the other case the code
is like "load pointer to global string", plus you need a 6-byte string
literal (maybe costing you 8 bytes depending on alignment
considerations). Also, depending on your machine's approach to
addressing of global data, that "load pointer" thingy could be multiple
instructions. So we're talking about at least six, possibly 8-12 bytes
per elog call --- and there are thousands of 'em in the backend.

Admittedly, it's a micro-optimization, but it seems worth doing since it
won't have any direct impact on code legibility.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2003-03-13 22:17:33 Re: SQL99 ARRAY support proposal
Previous Message Tom Lane 2003-03-13 21:47:30 Re: Upgrading the backend's error-message infrastructure

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tom Lane 2003-03-13 22:40:35 Re: Roadmap for FE/BE protocol redesign
Previous Message Tom Lane 2003-03-13 21:47:30 Re: Upgrading the backend's error-message infrastructure