MySQL is written with UNIX-like operating systems in mind. MySQL for Windows does not currently take advantage of many of the powerful scalability features of Windows NT based operating systems (2000, XP, 2003), as stated in the documentation. I happen to be one of the people working to make MySQL take advantage of the NT functionality. When my new Win32 disk I/O code goes into MySQL, and all disk I/O isn't serialized (in other words SELECT + SELECT on all engines, and SELECT + INSERT in MyISAM will no longer be serialized simply because Windows doesn't have pread/pwrite), I think you're going to see some of the artificial performance differences between MySQL for Windows and MySQL for Linux start to level off. Not that I'd suggest benchmarking those two programs against each other as some kind of valid comparison of performance until a lot of MySQL for Windows functionality is rewritten to take advantage of NT kernel features.

For an example of how much different a server based solely on UNIX-like emulation of syscalls versus that same code properly ported to Windows, take a look at Apache2 for Windows. They take advantage of asynchronous accepts and I/O completion ports in the new MPM.

What many non-programmers fail to realize is that the NT kernel provides methods of high performance I/O and scalability that are not only competitive with but in some ways superior to Linux's epoll or BSD's kqueue. The problem is, the only experience you have to base your judgement on is either Microsoft software like IIS which has had plenty of bumps along the way, or UNIX programs that are "ported" to Windows by using compatibility functions and hacking certain functionality to fit into the UNIX model these programs are written for. The first great example of how a well written port to Windows can turn out high performance and scalability, take a look at the WinNT port of Apache2, and then tell us how slow Windows is.


----- Original Message ----- From: "Jay Blanchard" <[EMAIL PROTECTED]> To: "Jeremiah Gowdy" <[EMAIL PROTECTED]>; "Brian Dunning" <[EMAIL PROTECTED]>; <mysql@lists.mysql.com>
Sent: Friday, August 12, 2005 8:26 AM
Subject: RE: Linux vs. Windows?


[snip]
I am willing to bet you I can write a more scalable higher performing
socket
server using NT I/O Completion Ports than you can write using Linux's
epoll.

It you're running a 32 cpu system, Windows will consistently outperform
Linux in many areas.

My point is, blanket statements like this aren't wise.
[/snip]

Except when they are.

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to