Performance Testing with FX!32

The Windows NT Magazine Lab ran performance tests on a prototype FX!32 system from Digital. The system had a 466MHz Alpha 21164A (version EV5) and 128MB of RAM (see "New Alpha PC Strategy," page 140), running Windows NT 4.0 Workstation (Release Candidate 2.3, Build 1362) and a beta release of FX!32.

We expected FX!32 to perform at 20% to 30% of native and this new super high-speed chip to outrun everything we'd tested on Alpha-native programs (see "New Alpha CPU Raises the Bar," page 144). In some cases (such as on Photoshop), the translated code's speed blew us away. In other cases (such as LightWave 3D), the performance disappointed us. Unfortunately, getting an accurate read of how fast Photoshop really ran relative to native performance is impossible because an Alpha version does not exist. For a baseline comparison, we ran our benchmarks on a high-end graphics PC from NeTpower (a Calisto with a 200MHz Pentium Pro, 128MB of RAM, and a Matrox Millennium graphics card with 2MB of WRAM).

Before I get too deep into the numbers, let me explain a few more details of why FX!32 can run so fast, or why it might not. On the plus side, FX!32 is fully multithreaded, is OLE2 aware, and has full support for the Win32 environment (FX!32 can use native APIs, drivers, and other code), and the runtime interpreter is small enough to fit into available CPU cache for increased performance. We optimized the Intel code as much as possible before counting the test values: We ran the applications several times on the functions we were testing and turned the optimization parameters all the way up.

Granted, we ran a beta release of FX!32 and not the fully tuned version that came with NT 4.0. Running a beta emulator on a beta operating system on a prototype computer is bound to cause a few problems. I expect that a full release version of NT 4.0, FX!32, and a production-level computer will perform better.

Table A lists LightWave 3D 4.0's render times for several types of images (ray traced, texture mapped, etc.) in the native Alpha versions, the translated Intel version, and the native Intel version on the NeTpower. As you can see, we were at about 10% to 20% of native performance on average. Table B shows script runtimes for our tests on graphics workstations: a simple 2D morph in Elastic Reality and a test script in Photoshop, which manipulates a 28MB image file.

TABLE A: LightWave 3D 4.0's Render Time
Lightwave 3D 4.0 render testing (using demo files supplied by NewTek): single frame, full-size render window (640*480 pixels) in true color. The Intel system used was a NeTpower Calisto 200MHz Pentium Pro.
Scene NA (NT 4.0) TI (NT 4.0) NA (NT 3.51) NI (NT 4.0)
Sharp/Fuzzy 60 seconds 588 seconds 66 188
Ray Trace Balls 708 seconds off the chart* 676 1494
Textured Cubes 21 seconds 180 seconds 21 57
Computer Board 10 seconds 47 seconds 9 19
Blade Runner 142 seconds off the chart* 190 291
*These scenes ran but took so long we couldn't wait around for them to complete. Shorter is better.
\[NA - Native Alpha, TI - Translated Intel, NI - Native Intel)
TABLE B: Script Runtimes
Elastic Reality Adobe Photoshop script runtimes (FX!32 against NeTpower Pentium Pro).
Program NA (NT 4.0) TI (NT 4.0) NA (NT 3.51) NI (NT 4.0)
Elastic Reality 27 273 38 68
Photoshop ***** 211* ***** 158
*Photoshop started with a first-pass emulation runtime of 1288 seconds. You can see the improvement after several passes through the translator.
Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.