Unmasked by Counting Threads?

Yesterday, a story made its rounds across the internet. It was picked up by many large news websites, and I’m sure it will be quoted by people until eternity. It was published by a large website, looked all fancy, it had multiple pages – it looked like it was really something. However, anyone with even the remotest bit of knowledge knows that the article was a collection of complete and utter bogus.

The article in question is titled “Windows 7 Unmasked“, and in it, author Randall C. Kennedy tries to prove that Windows 7 is Windows Vista. While this may or may not be the case – it’s the methods that he used that made me – as someone who enjoyed a strictly scientific education – almost want to poke my eyes out. Let me walk you through some of them.

He starts by using the Windows Performance Monitor tool to look at the kernel included with the Windows 7 PDC build – build 6801. “When comparing Windows versions,” Kennedy explains, “it’s always good to start with the kernel because this is where the most fundamental changes take place.” This is a pretty reasonable starting point. However, he follows up with his findings.

In fact, the kernel in each major new version of the Windows OS has spawned a different, typically higher number of threads. So when I examined Windows 7 and found a nearly identical thread count (97 to 100) for the System process, I knew right away that I was dealing with a minor point-type of release, as opposed to a major update or rewrite. This was not “MinWin,” the mythical, streamlined new Windows kernel that promised a clean break with the bloated Vista.

Oh boy. Where on earth do I start. First of all, the number of threads running within a kernel says absolutely nothing whatsoever about how many changes have or have not gone into the kernel – in much the same way that the number of parts in a 2009 model of a Civic compared to the number of parts in a 2007 model doesn’t really say anything. When I entered the #haiku irc channel yesterday, I asked the developers to make sure the Haiku kernel didn’t have the same thread count as Vista’s, because else Kennedy and InfoWorld will conclude Haiku is the same as Vista.

In all seriousness, Microsoft has been very clear that when it comes to under the hood, there won’t be many changes between Windows Vista and Windows 7. There will be optimisations to improve performance – but nothing drastic. Microsoft has made this very clear, so Kennedy is trying to look for changes that Microsoft never promised would be there in the first place.

Which brings us to MinWin. Kennedy is so wrong about MinWin I’m again at a loss as to where to start. Despite a number of fairly clear explanations from Microsoft (most notably, by Mark Russinovich), Kennedy shows a clear lack of understanding on what MinWin actually is. Microsoft never promised a “clean break”, it never promised a “new kernel”. Microsoft has been very clear: MinWin is not a new kernel. It is not a streamlined NT kernel. In fact, it is the NT kernel. The only thing Microsoft did was reorganise parts of it to make it cleaner, and to make sure they had a small core without any outward calls, so that they could make changes to the Windows kernel without causing massive breakage.

It’s kind of like how every now and then, I reorganise the clutter of cables behind my computer desk and my TV cabinet. Over time, it turns into a tangled mess, which prevents me from making changes easily. So, every now and then, I reorganise everything so that I can make changes much more easily. I didn’t add anything, didn’t remove anything, I just made it easier to maintain. MinWin is the same thing, and it doesn’t take a rocket scientist to realise that.

Kennedy doesn’t stop there. He draws the same conclusions based on the information gathered from processes. He sees Windows 7’s system processes having similar thread counts and similar memory footprints, and as such, concludes that Windows 7 is the same as Windows Vista.

Let me emphasise that I’m not disputing Kennedy’s conclusions – the article contains a benchmark (a rather vague one, but a benchmark nonetheless) which doesn’t show any significant performance improvements between Windows 7 and Vista. What I’m disputing, however, are the observations and data he bases his conclusions on. The number of threads means absolutely nothing – in fact, an increase in the number of threads may even indicate progress, as the kernel and several subsystems may have been optimised for multicore processors – you know, multithreaded programming. In any case, it’s an empty statistic.

The same goes for memory usage. It is irrelevant how much memory is in use at any given time. In fact, if I have loads and loads of memory, I’d prefer it if the operating system and its software actually use it. What is relevant is how efficient the operating system manages memory, and how it allocates memory in such a way that benefits me, the user, in both low memory as well lots-of-memory conditions.

Vista was a dog when it was first released, but these days, after lots of patches, fixes, and a service pack, it’s actually quite snappy. If Windows 7 continues this trend, then that’s a good thing. There won’t be massive performance gains, and Microsoft never promised anything like that either: they promised that Windows 7’s system requirements would be at least similar to those of Windows Vista. And from reports online, it actually seems as if they overshot that goal, and made Windows 7 a bit more efficient resource-wise.

This brings us to the final point: we are talking pre-beta here. I think the fact that people overlook this detail really proves just how well Windows 7 is doing. I have it installed on my machine (dual-boot with Windows Vista SP1), and the experience of this pre-beta build is nothing like the days of early Vista builds – in fact, Windows 7 right now completely blows Vista RTM out of the water. And it’s not even done – there’s probably lots of debug code in there, unoptimised changes, like in all pre-beta products.

Contrary to previous Windows releases, Microsoft has set some very modest goals for Windows 7, and they’re not promising the world like they did with Longhorn/Vista. From what we’ve seen so far, and from reports from all over the net, it seems pretty clear to me that Windows 7 is going to be a modest, yet fun and interesting release (I’m especially looking forward to the UI changes). As some brave souls already said when it was first released, Vista was an infrastructure release. Redmond bit through the sour apple, but now has a solid base to work from. And while Apple is still making fun of Vista, Microsoft can fly in from under the radar.

In summary, I think his article clearly shows that either Kennedy has absolutely no idea what he’s talking about, or he did a Dvorak. In any case, if I were InfoWorld, I’d seriously reconsider my involvement with him.

56 Comments

  1. 2008-11-12 11:58 pm
    • 2008-11-13 1:09 am
    • 2008-11-13 1:22 am
    • 2008-11-13 1:32 am
    • 2008-11-14 3:01 am
  2. 2008-11-13 12:15 am
    • 2008-11-13 5:28 am
    • 2008-11-13 7:00 am
  3. 2008-11-13 12:26 am
    • 2008-11-13 12:05 pm
  4. 2008-11-13 12:37 am
    • 2008-11-13 1:37 am
      • 2008-11-14 12:00 pm
  5. 2008-11-13 12:48 am
    • 2008-11-15 6:50 pm
  6. 2008-11-13 1:27 am
  7. 2008-11-13 1:30 am
  8. 2008-11-13 2:08 am
    • 2008-11-13 11:45 am
    • 2008-11-14 3:27 am
  9. 2008-11-13 2:27 am
  10. 2008-11-13 2:48 am
    • 2008-11-13 4:37 am
      • 2008-11-13 8:56 am
        • 2008-11-13 6:19 pm
          • 2008-11-13 8:12 pm
  11. 2008-11-13 3:55 am
    • 2008-11-13 12:01 pm
    • 2008-11-16 2:10 am
  12. 2008-11-13 4:03 am
  13. 2008-11-13 6:07 am
  14. 2008-11-13 6:49 am
    • 2008-11-14 4:09 pm
      • 2008-11-14 4:36 pm
        • 2008-11-14 5:29 pm
          • 2008-11-14 6:14 pm
  15. 2008-11-13 8:30 am
  16. 2008-11-13 9:55 am
    • 2008-11-13 9:58 am
      • 2008-11-13 10:10 am
        • 2008-11-13 10:13 am
          • 2008-11-13 10:18 am
          • 2008-11-13 10:23 am
          • 2008-11-13 10:35 am
    • 2008-11-15 2:56 am
  17. 2008-11-13 11:40 am
    • 2008-11-13 11:47 am
    • 2008-11-13 12:47 pm
  18. 2008-11-13 1:53 pm
  19. 2008-11-13 6:11 pm
    • 2008-11-13 7:33 pm
  20. 2008-11-13 9:28 pm
    • 2008-11-13 9:42 pm
  21. 2008-11-13 9:35 pm
    • 2008-11-17 3:15 pm
  22. 2008-11-13 9:40 pm