[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
    Search the FAQ Archives

Part01 - Part02 - Part03 - Part04 - Part05 - Part06 - Part07 - Part08 - Part09 - Part10 - Part11 - Part12 - Part13 - Part14 - Single Page

Top Document: Win95 FAQ Part 14 of 14: Misc
Previous Document: 14.6. Can I run Win95 on my '386-SX with 4 MB of RAM? (a bit of a joke, but it does run)
Next Document: 14.8. Why didn't Novell/WordPerfect/Corel (TM) release a 32-bit version of PerfectOffice (TM) yet?


14.7. Why do 32-bit programs seem slower than the original 16-bit ones?


   Microsoft's excuse to this is app writers are just learning how to
   write Win32 programs. This is probably right; you can't just take a C
   program optimized for Win 3.1 and throw a compiler switch. You have to
   make Win32 calls, switch your DOS calls to Win32 disk calls, use built
   in libraries and requesters instead of the home-made ones, and trim
   off the extra memory you'd allocate just to over-compensate. There's a
   lot of bad programming practice out there. I personally believe that
   all the ex-Amiga coders out there will take to Win95 the easiest,
   because we already know how to write tight code.
   
   Another good excuse is that programmers don't trust the OS and try to
   access hardware directly. Wrong. This not only forces a lot of excess
   bulk in the code, it has to fight with the OS to get to the hardware.
   Some really untrusting software houses (like Novell) will even include
   their own whole subsystems into the OS, rather than use what's already
   there. Bad move. Result: 4 MB network clients (compressed) compared to
   oh, 200 KB.
   
   Yet another excuse? Intel. The Pentium and '486 class processors were
   really optimized for 16-bit code. As much as Intel and Microsoft
   wanted to push programmers into using the extended instruction set of
   32-bit processors, the programmers had a 16-bit OS to contend with,
   except for a privileged few coding for NetWare, OS/2, or NT. (OK maybe
   some UNIX people too) Hence the Pentium Pro's optimization towards
   32-bit code. Of course all the cheap clone processors had to be fast
   running 16-bit code too.
   
   I also read something about Windows NT, where you can do something
   called "Working set tuning". This lets you re-organize the executable
   so the most frequently used code sits near the beginning of the
   executable, and the least used stuff goes near the end. This way, you
   don't need to have as much memory to run your app. Unfortunately,
   Win32s (and probably Win95) don't take advantage of this and they'll
   load all of the app in memory anyway, wasting it. The same 32-bit app
   running under NT will probably run faster than it would under Win95
   because of this. Case in point: MS Word 7.0. This app runs much faster
   in NT 4.0 than in Win95.
   
   The new companies coming out tend to write cleaner and faster code
   that use the OS. Check out the shareware on www.windows95.com or
   any major FTP site. The old established firms will take a long time to
   switch over. Even in FEB 97 they haven't quite got it right yet.
   



Top Document: Win95 FAQ Part 14 of 14: Misc
Previous Document: 14.6. Can I run Win95 on my '386-SX with 4 MB of RAM? (a bit of a joke, but it does run)
Next Document: 14.8. Why didn't Novell/WordPerfect/Corel (TM) release a 32-bit version of PerfectOffice (TM) yet?

Part01 - Part02 - Part03 - Part04 - Part05 - Part06 - Part07 - Part08 - Part09 - Part10 - Part11 - Part12 - Part13 - Part14 - Single Page


[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
gordonf@intouch.bc.ca

Last Update October 22 2009 @ 05:36 AM

Some parts © 2009 Advameg, Inc.