Сравнение производительности линейки Windows Server 2000 и Windows XP/2003
Весьма распространённым заблуждением пользователей является мнение о якобы лучшей производительности Windows 2000 по сравнению с Windows XP. Ни для кого не секрет, что архитектуры Windows XP и Windows Server 2003 весьма близки, поэтому давайте условимся считать результаты тестов одной системы применимыми к другой. Вот выжимка из письма, переданного в закрытую конференцию техническим специалистом MS, не имеющим никакого отношения к маркетингу. Имя и должность оставим в секрете, но вряд ли кто-то лучше него может рассказать о разнице в производительности Win2K и WinXP.
My team and I know quite a bit about the performance differences between
Win2k and WinXP, we directly wrote some of the code that allows XP to
perform as it does today and worked with a huge list of other developers to
get this product performing well. We've run a wide variety of performance
benchmarks/workloads on a wide spectrum of machines.
That said, let me give you a sense of where we stand, what our goals were at
the onset, and why we chose those goals.
Where we stand (128mb or more).
1. XP is faster than Win2k at some things, but clearly not everything.
2. Win2k is faster than XP at some things, but clearly not everything.
3. XP, like Win2k, is faster than Win9x & WinME at just about
everything, but some gaming benchmarks.
*** WinXP vs Win2k
WinXP is bigger than Win2k. There is more code to execute. WinXP has
more UI work to do as well.
To offset the added code and UI work, WinXP needs to manage memory
better & improve disk i/o efficiency. In a sense, we can pay for the costs
of a new UI, new services like system restore, and so forth by cutting our
disk I/O costs. The disk, by far, is the biggest bottleneck on the system.
We focused heavily on reducing disk i/o costs.
****Some of what we've looked at****
Boot, (WinXP generally beats Win2k by a wide margin.)
Resume from Standby, (WinXP generally beats Win2k by a wide margin. XP
can resume from standby in <2 seconds on many laptops)
Resume from hibernate, (WinXP beats Win2k here as well)
Application Launch (WinXP generally beats Win2k for cold starts, not so
if the app is completely in memory already)
Content Creation Winstone 2001, (XP and Win2k can both be best here)
Business Winstone 2001, (XP and Win2k can both be best here)
Webmark 2001, (XP is typically winning by a small margin)
Sysmark 2001, (Win2k is currently edging out WinXP, again small margin.)
PC WorldBench 2000, (Win2k will beat XP on this, unless you click Best
Gaming Benchmarks (I'm gonna skip this now. It is really separate)
****How do we Run Benchmarks?****
We run the above by taking all OS defaults. We do NOT turn off services.
We do NOT turn off the BIG background bitmap that XP has (which gives Win2k
a big edge in some things). We do NOT change any UI settings. During setup,
we clean format the disk and use NTFS. We take all defaults when setting up
the benchmarks and we run them with all defaults as well. For newer
systems, we're generally running 32bpp. Some systems can't support 32bpp, in
which case we use 24 or 16 (the max it can do).
======We run workloads one or more times (or just use the apps) and then
either WAIT 3 days before timing, or we force the once-every-three-day
disk-layout optimizations to occur right then and there.======
That last step sounds odd, doesn't it? Let me explain. XP is a dynamic
self-tuning OS. One of the most critical things it does is move files around
on the disk based upon use. There is no static list, we build it up
dynmaically as you use your system. Moving files can be a noisy thing, we
don't do it often (every 3 days max). We wait for the system to be idle
before we do any idle-time performance work. Every 3 days we look to see if
a new layout for better file placement is warranted. If it is, we move
files around, and keep the files we move contiguous. This isn't a full
defrag so it is usually pretty quick.
XP records previous launches of each application. It knows the file
pages needed and can prefetch them into memory efficiently if they aren't
already in memory. This gives XP the edge when you haven't launched an app
recently or some of its pages aren't in memory. For big apps, the difference
can be 50%, 3 secs instead of 6.
If the app is in memory already, Win2k is generally faster. But here,
the times are usually very small (often less than a second to launch an app
if no disk i/o is needed).
-XP can outperform Win2k on systems with 700Mhz+ processors, 128MB or more
of RAM, 16MB of video memory, and 30GB partitions.
-Win2k can outperform WinXP on systems with less capable processors, less
capable video, smaller partitions.
Those aren't universally true statements. We have some lower end systems,
400MHz, 8MB video, small disks, and such where Win2k is slower than WinXP.
We have some higher end systems where Win2k is slightly faster than Win2k.
The differences between Win2k and WinXP are sometimes small, 1% or so, and
sometimes large, 5-10% or so.
---- System Restore------
This subject deserves a special note. The costs of system restore are quite
small for the average user. We leave it on in all the tests we run above.
------ A note about XP's size & Tools-----
Many people use task manager and such to measure the size of Windows XP.
Task manager does not report sharing between process working sets. With a
dozen processes sharing a page, task manager will report that as 12 pages.
That's not at all accurate, it should be 1. Also, Win2k task manager
reports on "Mem Usage", now referenced as "PF Usage" (for pagefile usage).
PF Usage is simply the amount of "reserved space" from the paging file. It
doesn't correlate to memory usage well at all.