On 2 Jun 2004 at 16:45, Merlin Moncure wrote:
>
> 'better' does not mean 'faster'. Win32 has a pretty decent journaling
> filesytem (ntfs) and a good I/O subsystem which includes IPC. Process
> management is poor compared to newer linux kernels but this is
> unimportant except in extreme cases. Right now the win32 native does
> not sync() (but does fsync()). So, the performance is somewhere between
> fsync = off and fsync = on (probably much closer to fsync = on). It is
> reasonable to assume that the win32 port will outperform the unix
> versions at many tasks (at the expense of safety) until the new sync()
> code is put in.
>
> If tested on the same source base, 40-60% differences can only be coming
> from the I/O subsystem. There are other factors which aren't clear from
> this exchange like what version of gcc, etc.
>
Hmm, interesting.
I've been running the Win32 port for a couple of weeks now. Using the
same database as a Linux 2.6 system. Same processor and memory
but different disks.
Linux system has 10K rpm SCSI disks
Windows has 7200 rpm serial ATA disks.
When a lot of IO is involved the performance differences are very mixed
as I would expect. Sometimes Windows wins, sometimes Linux.
BUT, very consistently, when NO IO is involved then the Win32 port is
always around 20% slower than Linux. In cases where the EXPLAIN
ANALYZE results are different I have disregarded. In all the cases that
the EXPLAIN ANALYZE results are the same and no IO is involved the
Win32 port is slower.
Currently I am putting this down to the build/gcc differences. I can't see
why there should be this difference otherwise. (memory
management??)
Regards,
Gary.