[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Comparative Speed of Xy4-DOS vs. XyWin



Like Robert Holmgren, I was surprised to hear that XyWin clocked faster
times than did Xy4 (DOS) in Adriano Ortile's tests. Like Robert, I was
able to replicate Adriano's results. Interesting!

As Robert mentioned, several years ago he and I ran a number of tests
which showed unequivocally that XyWin was optimized for graphical views
whereas XyDOS ran much faster in character-based views. Around that
time (November 1994), I devised a rudimentary benchmark test consisting
of three "timed loops" (TLOOPS, for short) that were very similar to the
tests that Robert and I had done. The intent was to provide a simple
way of comparing the performance of identical versions of XyWrite on
different machines, and different Xy versions on the same machine.
TLOOPS also enables easy comparative testing of identical operations
across the various display types (eXPanded, draft, page-line, graphical,
etc.).

The first of the three TLOOPS tests ("Count-Mute") is purely
computational: it simply counts from 0 up to 2500 and reports the
elapsed time. The other two tests added a display-refresh element.
"Count-Echo" performs the same count, but prints each number to the
PRompt line. "Dele-Undel" creates, then repeatedly deletes and
undeletes, a block of text.

Intrigued by Adriano's report, last night I ran a series of TLOOPS tests
in Xy4 v4.017 and XyWin v4.12, to see whether Robert and my results of
four years ago and Adriano's results could be reconciled.

Overall, my TLOOPS results support the conclusion that XyWin is
optimized for graphical views while Xy4 is optimized for eXPanded
view. Particularly noteworthy were my results for eXPanded view
(Display Type=0): 2.99 seconds to complete all three tests in Xy4 vs.
13.49 secs. for XyWin (XyWin slower by a factor of 4.5), and for
graphical-no markers view (DT=12): 23.97 secs. for Xy4 vs. 5.67 secs.
for XyWin (XyDOS slower by a factor of 4.2).

At the same time, the TLOOPS results on the computation-intensive
"Count-Mute" test were consistent with Adriano's findings. (Recall that
Adriano's tests entailed moving the cursor from top to bottom of a long
file and performing a search and replace on a long file, both
computation-intensive operations.) Now, look at my TLOOPS results on
the computation-intensive test:

Xy4             XyWin
---             -----
Display Type=0       Display Type=0
Count-Mute: 0:00:00.60   Count-Mute: 0:00:00.32

Display Type=1       Display Type=1
Count-Mute: 0:00:00.61   Count-Mute: 0:00:00.31

Display Type=2       Display Type=2
Count-Mute: 0:00:00.61   Count-Mute: 0:00:00.34

Display Type=12       Display Type=12
Count-Mute: 0:00:00.60   Count-Mute: 0:00:00.37

XyWin is consistently almost twice as fast! On the other hand,
compare the times for the Delete/Undelete test, which involves
repeatedly rewriting the screen:

Xy4             XyWin
---             -----
Display Type=0       Display Type=0
Dele/Undel: 0:00:01.00   Dele/Undel: 0:00:10.47

Display Type=1       Display Type=1
Dele/Undel: 0:00:01.06   Dele/Undel: 0:00:10.54

Display Type=2       Display Type=2
Dele/Undel: 0:00:01.23   Dele/Undel: 0:00:07.28

Display Type=12       Display Type=12
Dele/Undel: 0:00:13.87   Dele/Undel: 0:00:02.36

Xy4 wins by a factor of between 7 and 10 for all display types
except the graphical DT=12, where the ratio is about 6 to 1 in favor of
XyWin.

What to make of this? For display-intensive tasks, XyWin is fleet in
graphical views, but crawls in non-graphical display modes -- no doubt
reflecting that, in Windows, non-graphical display types have to be
emulated graphically, at a significant cost in system overhead. For
computational tasks, however, XyWin may indeed be faster -- possibly as
much as twice as fast! -- as Xy4. I can only surmise that certain
optimizations were achieved in XyWin which never made it into the DOS
counterpart, which by that time had been withdrawn from further
development.

(TLOOPS.PM is available for download at the XyWWWeb site. If you've
installed the omnibus XYWWWEB.U2 library, you already have it. Command
HELP TLOOPS for instructions.)


--------------
Carl Distefano
CLDistefano@xxxxxxxx
http://users.datarealm.com/xywwweb/