On Tue, Jan 31, 2012 at 3:43 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Daniel Farina <daniel(at)heroku(dot)com> writes:
>> On Tue, Jan 17, 2012 at 2:14 AM, Daniel Farina <daniel(at)heroku(dot)com> wrote:
>>> See the attached patch. It has a detailed cover letter/comment at the
>>> top of the file.
>> I have amended that description to be more accurate.
> I looked at this a bit, and it seems to go considerably further than
> I had in mind: unless I've missed something, this will instantiate a
> couple of kilobytes of static data in every .c file that includes
> pg_crc.h, directly or indirectly. While that might be tolerable in an
> external project, there are going to be a a LOT of copies of that table
> in the backend, many of them unused. Did you check to see how much
> larger the backend executable got? For that matter, aren't there a lot
> of build warnings about unused static variables?
Ah, yes, I think my optimizations were off when building, or
something. I didn't get such verbosity at first, and then I remember
doing something slightly different and then getting a lot of output.
I didn't pay attention to the build size. I will investigate.
> It occurs to me that rather than an #ifdef symbol, it might be
> appropriate to put the constant table into a separate .h file,
> say pg_crc_tables.h, so that users would control it by including
> that file or not rather than an #ifdef symbol. This is pretty
> trivial but might look a bit nicer.
I agree, I was about to say "what about a preprocessor hack..." after
the last paragraph, but saw you beat me to the punch. I'll have a look soon.
In response to
pgsql-hackers by date
|Next:||From: Noah Misch||Date: 2012-02-04 00:37:51|
|Subject: Re: Review of: explain / allow collecting row counts withouttiming info|
|Previous:||From: Daniel Farina||Date: 2012-02-03 23:04:58|
|Subject: Re: Hot standby fails if any backend crashes|