From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jean-Luc Lachance <jllachan@nsd.ca>
Cc: pgsql-hackers@postgresql.org
Cc: pgsql-interfaces@postgresql.org
Subject: Re: [INTERFACES] Upgrading the backend's error-message infrastructure
Date: Thu, 13 Mar 2003 17:04:05 -0500
Message-ID: <9696.1047593045@sss.pgh.pa.us> (raw)
In-Reply-To: <3E70FB55.68CEDE4@nsd.ca>
References: <9168.1047588660@sss.pgh.pa.us>
<3E70FB55.68CEDE4@nsd.ca>
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: tgl@sss.pgh.pa.us, jllachan@nsd.ca, pgsql-hackers@postgresql.org
Subject: Re: [INTERFACES] Upgrading the backend's error-message infrastructure
In-Reply-To: <9696.1047593045@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox