Nov 11, 2011

QNX 6.5 Plagued by Performance Problems

Tonight, I installed QNX 6.5 on my new PC that I bought just a few weeks ago. It isn't top of the line, but it's more than adequate for daily Internet and office stuff, and even a little gaming and compiling. And while I know that QNX isn't the fastest operating system in the world due to its realtime nature, I was more than a little underwhelmed by its performance—especially for development.

First things first, it took a good 30 minutes to install. Now don't get me wrong, I'm a patient guy, especially when dealing with things like AIX or Solaris. But Windows 7, which is easily ten times the size of QNX, installs in the same amount of time. Unless the install packages are compressed with some new, ultra-complex algorithm that a second-generation Core i5 can't handle, there's no excuse for this. I suspect that QSS has simply neglected to enhance its install routine beyond i386.

Once it booted, QNX thought that it was running on a 1.4 GHz Pentium III. Except that I'm running a 2.5 GHz Intel Core i5-2405S. I can't imagine what kind of chip I'd have to run to make QNX think it was running faster than 2 GHz. There's no emulation going on, so am I missing something? Or have the QNX's developers only done enough to get QNX to run on new hardware but not actually recognize it? Between QNX's inability to recognize a processor and the slow install process, there doesn't seem to be a whole lot of optimization going on with this operating system.

I'll forego commenting on QNX's bare-bones user interface, minimal unix utility support, and its outdated apps and just get into daily usage performance. Reading email and browsing the web—when not challenged by a lack of support for the latest web technologies—are all fairly fast. I would never call QNX a racehorse, but playing MP3s while checking news in the morning runs fairly smoothly. Just remember to visit websites that don't depend on Flash, HTML5, or CSS3 and you're good to go. But so much for the mundane, end-user stuff.

What we're all really interested in is development, since QNX has only been really been offered for the last decade as a development platform for itself. Hence my new Core i5 system, hence the outdated end-user apps, hence the slow crawl between QNX 6.4 and QNX 6.5. Anyway, I digress. Programming for QNX is one thing: it's small, efficient, and pervasively customizable. Don't like the TCP/IP stack? Write one yourself and run it. It's all modular, and all the Neutrino kernel does is boot and pass messages.

But in the end we all have to compile these bright ideas, and this is where QNX development falls down. The QNX Momentics development suite performance is terrible. I mean downright slow, like a confused snail in the middle of an ice-age. Every chance you make to a project takes forever to write, and, relatively speaking, compiling takes forever. The sad fact about this is that nothing has changed in this department since QNX 6.4, or QNX 6.3, or… Well, you get it.

Hardware companies are constantly putting faster chips and QNX always seems to lag the same on them. This blows my mind, because this means that they're either making changes that chew up performance but offer no new features, or that there is something inherently wrong with QNX that negates faster performance per clock.

This would be like Windows XP running the same on a Pentium as it would on a Pentium 4. So I have to guess in the end that while QSS might be changing QNX version numbers, what we're essentially getting is the same operating system with updated drivers. In the very least, there aren't any new end-user or developer features.

Now here's the kicker: we've all seen RiM consolidating its operating systems into QNX with BBX. Why not bring some of that to the base QNX development platform so we can pretend that we're at least in the 21st century? We could benefit from a spectacular interface competitive with Mac OS X/iOS nexus and, presumably, some tweaked hardware support. QSS did this in the late Nineties while building a QNX-based Amiga OS and came out with its first desktop-able operating system. Why not bring some of the development from BlackBerry back into the fold?

I hate to be negative, but as a service to other serious computer users out there, don't install QNX 6.5 unless you already depend on QNX and want to make sure you have whatever relevant updates it might include. You won't get a performance boost, and you don't get any modern technology. We should probably be running something called QNX 6.3.8 instead of 6.5; it's just some tweaking to the same old thing instead of actual steps forward with features and hardware support.

Unless this new RiM-owned QSS will do things differently than the last few incarnations of the company, we'll some platform-specific development kits and really awesome new devices without any of it filtering back into QNX itself. Oh well. If QNX 6.6 doesn't do it, maybe the inevitable 64-bit kernel rewrite will.


  1. Thanks for share this nice information! Your Sound is really good about "QNX 6.5 Plagued by Performance Problems". I am intimidated by the excellence of information. There are a bundle of good funds here. I am sure I will visit this position again soon.
    I think, All the routines assume that Windows is fully updated and the problem is still occurring.
    Here is some information about hardware troubleshooting.

  2. Do not agree with your assessment. It is written from a view of ignorance. I have been using QNX since 2007. I would not use it as a daily desktop, but the performance issue is due to using the default. First, you can get much a much faster boot speed and general performance increase with a custom boot loader/image. Second, the graphics interface is generic with no acceleration, so don't look for fast or fancy graphics. Works fine as a development system though.