| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Michael Govorun <mike(at)shpion(dot)ru> |
| Cc: | Richard Huxton <dev(at)archonet(dot)com>, pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Don't removes/recycles WAL files at all |
| Date: | 2003-07-31 03:40:30 |
| Message-ID: | 27361.1059622830@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Michael Govorun <mike(at)shpion(dot)ru> writes:
> I've found answer! Postgresql have been compiled with aggressive
> optimizations:
> gcc version egcs-2.91.66
> CFLAGS='-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro
> -march=pentiumpro -fomit-frame-pointer -fno-exceptions'
> After recompiling server with -O2 WAL recycling properly. But I got
> many errors after installing recompiled server and had to dump
> database with "optimized" postgres and restore with -O2 version.
Yeah, adding or removing -malign-double would change the layout of our
on-disk data structures, so it's no surprise you'd need to dump and
reload for that.
Also, -ffast-math is known to be Evil. I thought we had a check to
prevent that (looks ...) yeah we do; how'd you get by this check in
timestamp.c?
/*
* gcc's -ffast-math switch breaks routines that expect exact results from
* expressions like timeval / 3600, where timeval is double.
*/
#ifdef __FAST_MATH__
#error -ffast-math is known to break this code
#endif
As for the other stuff, it theoretically should work, but isn't
egcs-2.91.66 rather old and buggy? Perhaps a newer gcc would work
better.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2003-07-31 03:56:07 | Re: hexadecimal to decimal |
| Previous Message | Tom Lane | 2003-07-31 03:27:21 | Re: Don't removes/recycles WAL files at all |