Untying the Gordian Knot of Helix Performance

7 December 2009 — What do I buy? Should I upgrade to 6.1.5 or stay with 6.1.3? Can I run the PowerPC Client on my Intel Mac? How do I...? What do I...?

Feeling confused about Helix? When we said that the job of getting Helix to macOS was going to be a bumpy ride, we had no idea how much bumpier that ride would seem when all the confusing, misleading information so readily available is factored into the equation like so many threads in a Gordian Knot.

Many people email us with the concerns about upgrading to 6.1.5 based largely upon speed issues they've heard about. In this first week since the release of 6.1.5, we've been scurrying around the lab like rats trying to find the kind of objective, statistical benchmarks that can present the facts about this issue and dispel the abiding confusion.

Keep in mind that when dealing with performance issues, the tests we run are more of the “torture” variety than the “in typical use” variety. We are intentionally doing things in these tests that you would not ordinarily do, particularly things that force Helix to put a lot of data on the screen as fast as possible. Dismissing version 6.1.4 for all practical purposes, the tests explode and amplify the discrepancies between versions 6.1.3 and 6.1.5.

Helix Client Entry View Speed Comparison

Seconds/Record

Classic

Intel

PowerPC

Client 6.1.3

0.39

0.21

0.93

Client 6.1.5

0.37

0.18

0.75

Faster

5.4%

16.7%

24.0%

Test: Show 300 records by doing “Find First” then holding the ‘Right Arrow’ key down until the last record is shown.

Entry View Test

This chart compares the relative speed of working on Entry views in Helix 6.1.3 and Helix 6.1.5. As you can see, Helix 6.1.5 is faster right across the board. The Classic Client is 5% faster, and the macOS Clients are 16–24% faster. The notion that Helix 6.1.5 is slower than 6.1.3 is a myth.

The entry view used in this test (The Bug Report view in techdb) is fairly complex. It contains 85 rectangles altogether. 34 of them are data rectangles, and of those, 9 are dynamic popup menus. In short, this is not a ‘best case’ test.

Despite the relative complexity of this view, the Intel Client draws the form and fills in the data in less than 2/10ths of a second. Yes, that’s twice as fast as the Classic Client at 4/10ths of a second. Even the PowerPC Client does the same task in 3/4ths of a second. This is hardly a reason to stay in 6.1.3!

Helix Client List View Speed Comparison

Seconds/Page

Classic

Intel

PowerPC

Client 6.1.3

0.63

1.42

6.63

Client 6.1.5

0.67

1.46

6.83

Slower

6.3%

2.8%

3.0%

Test: Scroll through 1,000 records on 24 pages by holding down the ‘Page Down’ key until the last page is fully drawn.

List View Test

This chart compares the relative speed of working on List views in Helix 6.1.3 and Helix 6.1.5. While Helix 6.1.5 is slower at lists than Helix 6.1.3, the Classic Client is only 6% slower, and the macOS Clients only 3%. Is this anywhere near as dreadful as the rumors you've heard make it out to be? Can you really even see the difference when it is only 4/100ths of a second?

The list view used in this test is fairly simple, with just two rectangles per record. With minimal complexity, the Classic Client draws each page in about 2/3rds of a second. The Intel Client clocks in at 1-1/2th of a second, or a little more than half speed. Finally, the PowerPC Client pokes along at a leisurely 6-5/6ths of a second. Once again, this illustrates why we say: if your application uses a lot of lists, and you are running on a PowerPC Mac, especially one with a G4 processor (see below), the Classic Client, if you haven't already installed Leopard, may be the better choice for now.

Classic vs PowerPC vs Intel: Head to Head

While the Entry view chart above shows that the Intel Client is nearly twice as fast as the Classic Client at processing entry views, the List view chart shows that the Classic Client is still much better at processing lists. Those of you who are ready to switch over to Intel Macs are going to find that overall things are much better in 6.1.5. List performance still lags, but that will only get better now that we are fully focused on performance.

Regarding the macOS Client on a PowerPC Mac, our basic advice remains the same: if you rely on large lists, or complex subforms, you should continue to use the Classic Client. But if you do choose to run the macOS Client on a PowerPC Mac, Helix 6.1.5 is 15% faster than 6.1.3 on entry views, and barely slower on lists. That’s a sizable improvement that should reassure you that we are making progress.

Helix Client Entry View Speed Comparison

Seconds/Record

Classic

PowerPC

Slower

G4/733MHz

0.37

0.75

50.7%

Dual G5/2.00GHz

0.16

0.26

38.5%

Faster

56.8%

65.3%

Test: Show 300 records by doing “Find First” then holding the ‘Right Arrow’ key down until the last record is shown.

Helix Client List View Speed Comparison

Seconds/Page

Classic

PowerPC

Slower

G4/733MHz

0.67

6.83

90.2%

Dual G5/2.00GHz

0.33

2.92

88.7%

Faster

50.7%

57.2%

Test: Scroll through 1,000 records on 24 pages by holding down the ‘Page Down’ key until the last page is fully drawn.

One More Comparison: PowerPC Processor Speed

These charts compare a typical PowerPC Mac (a G4 running at 733MHz) to a current Intel (Core 2 Duo running at 2.0GHz). What happens if you run a PowerPC at 2.0GHz? A G5 running at 2.0GHz is more than twice as fast. That makes perfect sense, as the processor is more than twice as fast as the one in the G4.

So if you're out there running Helix 6.1.3 on a Mac with a PowerPC G4 or even a G3 processor, you may find the performance acceptable, but if you don't, you have three options:

Continue to use Classic Helix on your PowerPC Mac,

Make the leap and upgrade to an Intel Mac, or

Hang on until we improve performance in the Helix 6.1.6 release.

Finally, we hope we won't have to say this for too much longer: You’ll need to keep one Classic-capable Mac around for a few more months if you need to go into Design Mode, but for daily operations, the Helix 6.1.5 on Intel Macs is extremely reliable, reasonably fast, and getting faster with every new release. Download the demo and see for yourself.