Re: Upgrading the backend's error-message infrastructure - Mailing list pgsql-interfaces

From Tom Lane
Subject Re: Upgrading the backend's error-message infrastructure
Date
Msg-id 9696.1047593045@sss.pgh.pa.us
Whole thread Raw
In response to Re: Upgrading the backend's error-message infrastructure  (Jean-Luc Lachance <jllachan@nsd.ca>)
List pgsql-interfaces
Jean-Luc Lachance <jllachan@nsd.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


pgsql-interfaces by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] Upgrading the backend's error-message infrastructure
Next
From: Hiroshi Inoue
Date:
Subject: Re: [HACKERS] Roadmap for FE/BE protocol redesign