Category : Word Processors
Archive   : AMAC43D.ZIP
Filename : TIMER.SUM

 
Output of file : TIMER.SUM contained in archive : AMAC43D.ZIP

Summary of Timing Results For Different Commands
July 10, 1991
Written by Tom Hogshead
==================================================

Many QEdit commands were timed using macros @1 and @2 to compare
command's relative speeds. Please be aware that the actual speeds
of these commands, as can be estimated from Relative Speeds,
depends on many factors, eg macro in which these commands are
used, system hardware and software, etc. Faster machines will
give faster results, but the Relative Speed order ranking of
commands timed should be approximately the same on different
machines.

My conclusions are based solely only on the timing tests I
conducted on specific command sequences. I am not attempting to
make a determination of the absolute speed of QEdit. Although
limited by my inability to measure any command's speed without
some synergism with other commands and the testing system, I
believe these conclusions, as they relate to speeds of specific
command sequences timed, are accurate and valid in this
necessarily limited context.

Relative Speeds were calculated dividing actual timed speeds by
0.00045 seconds per repeat (the speed for the fastest commands
I timed, gotoblockbeg and cursorleft at column 1; these two
commmands, when inserted seperately in the timing macro @1,
always test false because the cursor remains in column 1 and no
blocks remain marked during @1 timing loop).

Relative Speeds for all commands timed are shown in Table I
(alphebetical order) and Table II (ascending order); Table III
shows the actual inserted command sequences timed (column 1),
"macro" time (column 2), "run" time (column 3), and calculated
time per 1,000 repeats for the inserted command sequences in
column 4. Table III is included in case the reader wishes to
delve further and observe how commands were timed.

* 
----------------------- Table (I) ------------------------------
Relative Speed of Commands
( 1 = 0.00045 seconds/repeat )
June 30, 1991
----------------------------------------------------------------
"*" (Insert Off) 17
"*" (Insert On) 70
appendscrbuff 49
begline 1 f
begline 3
changefilename 10
copy 26
copyoverblock 33
cursordown 5
cursorleft 2
cursorright 2
cursorup 5
cut 27
delch 5
deleteblock 5
delline 11
dos "rem" 6666
dropanchor 8
editfile escape 10
editfile "name" 68
editfile "nul" /quit 188
editfile "indir"/quit 1106
editfile "indir"/quit 3177 cache off
editfile "notindir"/quit 1578
editfile "notindir"/quit 4444 cache off
endline 9
escape escape 10
find 55
findreplace 73
getscrbuff 54
gotoblockbeg 1 f
gotoblockbeg 3
gotocolumn 12
insertline 11
jfalse 1
joinline 1 f
joinline 13
jtrue 1
jump 1
markcharacter 8
markcolumn 8
markline 7
moveblock 59
nextfile 10
nextwindow 18
pagedown 6
pageup 6
paste 18
pasteover 16
prevfile 10
prevposition 7
prevwindow 18
repeatcmd 13
shiftleft 10
shiftright 10
showentryscreen 94
splitline 13
storescrbuff 44
unmarkblock 5

* 
----------------------- Table (II) -----------------------------
Relative Speed of Commands
( 1 = 0.00045 seconds/repeat )
June 30, 1991
----------------------------------------------------------------
jfalse 1 delline 11
jtrue 1 insertline 11
jump 1 gotocolumn 12
gotoblockbeg 1 f splitline 13
begline 1 f joinline 13
joinline 1 f repeatcmd 13
cursorright 2 pasteover 16
cursorleft 2 "*" (Insert Off) 17
begline 3 nextwindow 18
gotoblockbeg 3 prevwindow 18
delch 5 paste 18
deleteblock 5 copy 26
unmarkblock 5 cut 27
cursordown 5 copyoverblock 33
cursorup 5 storescrbuff 44
pageup 6 appendscrbuff 49
pagedown 6 getscrbuff 54
prevposition 7 find 55
markline 7 moveblock 59
markcolumn 8 editfile "indir" 68
dropanchor 8 "*" (Insert On) 70
markcharacter 8 findreplace 73
endline 9 showentryscreen 94
escape escape 10 editfile "nul" /quit 188
editfile escape 10 editfile "indir"/quit 1106
shiftright 10 editfile "indir"/quit 3177 c_off
shiftleft 10 editfile "notindir"/quit 1578
changefilename 10 editfile "notindir"/quit 4444 c_off
nextfile 10 DOS "rem" 6666
prevfile 10


* 
Table (III)
* ======================================================================
Seconds
-----------------------
per # of
Minus 1,000 Repeats
Run Base Repeats Timed
------ ----- ------- -------
* 
Fastest............... 0.45 - 3.00
----------------------------------
cursorleft * (col 1) * 298.0 45.0 0.45 100k
gotoblockbeg* (col 1) * 298.0 45.0 0.45 100k
begline * (col 1) * 299.0 46.0 0.46 100k
jfalse/jtrue/jump * 301.0 48.0 0.48 100k
joinline * 77.0 14.0 0.56 25k 06-17-1991 16:02:14
begline * (from col 2) * 0.75 50k
cursorleft * 0.75 50k c
cursorright * 0.75 50k c
cursorright cursorleft * 403.0 150.0 1.50 100k
cursorright begline * 403.0 150.0 1.50 100k
cursorright cursorright * 238.0 112.0 2.24 50k
begline
cursorright cursorright * 274.0 148.0 2.96 50k
cursorright begline
delch * ( 250/500 chars) * 229.0 103.0 2.06 50k
unmarkblock * 239.0 113.0 2.26 50k

* 
Fast............ 3.00 - 9.00
----------------------------------
markline * 288.0 162.0 3.24 50k
markline unmarkblock * 182.0 119.0 4.76 25k

unmarkblock * 239.0 113.0 2.26 50k
markcolumn * 306.0 180.0 3.60 50k
markcolumn unmarkblock * 377.0 251.0 5.02 50k
| markcolumn markcolumn * 475.0 349.0 6.98 50k
markcolumn markcolumn * 47.0 34.4 6.88 5k 06-23-1991 22:54:56
check use higher value June 23, 1991
markcolumn markcolumn unmarkblock * 251.0 188.0 7.52 25k

| cursordown cursorup * 340.0 214.0 4.28 50k 06-13-91
cursordown cursorup * 341.0 215.0 4.30 50k r 07-07-91

gotocolumn escape * 181.0 118.0 4.72 25k
gotocolumn "1" return * 196.0 133.0 5.32 25k
gotocolumn "1" return begline * 207.0 144.0 5.76 25k
gotocolumn "2" return begline * 270.0 207.0 8.28 25k
gotocolumn "50" return begline * 284.0 221.0 8.84 25k
gotocolumn "500" return begline * 340.0 277.0 11.08 25k

markline unmarkblock * 182.0 119.0 4.76 25k
cursorright prevposition * 183.0 120.0 4.80 25k
endline begline * 368.0 242.0 4.84 50k
pagedown pageup * 86.0 50.7 5.07 10k 06-20-1991 17:29:15
repeatcmd escape * 86.0 60.7 6.07 10k
endline prevposition * 91.0 65.7 6.57 10k

"*" + BegLine after each 500 chars deleted (see macro below)
(Insert OFF) * 51.0 38.4 7.68 5k 06-19-1991 01:48
(Insert ON) * 170.0 157.4 31.48 5k 06-19-1991 01:48

escape escape * 280.0 217.0 8.68 25k 06-17-1991 02:28:48
escape escape * 110.0 84.7 8.47 10k 06-17-1991 02:28:42
editfile escape * 111.0 85.7 8.57 10k
shiftright shiftleft * 115.0 89.7 8.97 10k r 06-15-91
shiftright shiftleft * 113.0 87.7 8.77 10k 06-14-91
changefilename escape * 114.0 88.7 8.87 10k


* 
Slow........ 9.00 - 100.0
--------------------------------------
| nextfile 4.59 10k c 06-30-1991 20:38:45
| prevfile 4.69 10k c 06-30-1991 20:37:58
prevfile nextfile * 124.0 98.0 9.57 10k bw
(prevfile is $line#, 5k)
nextfile prevfile * 132.0 106.0 10.35 10k bw
(nextfile is count.dat, 61k) *


prevwindow * 8.02 10k c 06-30-1991 18:52:14
nextwindow 8.02 5k c 06-30-1991 18:52:56
? nextwindow prevwindow * 121.0 95.0 9.28 10k b
(nextwindow is $line#, 5k)?
prevwindow nextwindow (start 0k)* 212.0 186.0 18.16 10k b
(prevwindow is zero length file started in)
prevwindow nextwindow * 228.0 202.0 19.73 10k b
(prevwindow is count.dat, 61k)

insertline delline * 124.0 98.7 9.87 10k
changefilename "$$" escape * 133.0 107.0 10.45 10k b
splitline joinline * 140.0 114.7 11.47 10k 06-17-1991 15:31:23

markcolumn markcolumn * 386.0 360.7 38.81 10k 06-24-1991
cursorright
moveblock
-12.18 mc/mc/cr
-------
MOVEBLOCK est. 26.63/0.45=59.2

unmarkblock * 239.0 113.0 2.26 50k

markcolumn markcolumn * 201.0 188.4 37.68 5k 06-24-1991
cursorright
moveblock
deleteblock
-12.18 mc/mc/cr
-26.63 moveblock
-------
DELETEBLOCK est. 1.13 diff large #?
(since cursor moved us right, est same as delch) 2.06/0.45=4.58

markcolumn markcolumn * 212.0 180.5 14.44 12.5k 06-24-1991
cursorright
unmarkblock
Del_Ch
jtrue TIME:
.
.
BEGLINE
cursorup
jtrue TIME:
-2.26 unmarkblock
--------
12.18 m/m/cr

markcolumn * 306.0 180.0 3.60 50k
pasteover * 7.41 5k (3)
paste * 7.92 5k (3)
copy * 144.0 118.7 11.87 10k
cut * 11.96 (6)
markcolumn copy * 162.0 136.7 13.67 10k
markcolumn cut * 225.0 194.5 15.56 12«k (5)
copyoverblock * 14.68 5k (6) 06-18-1991 09:31:54
markcolumn copyoverblock * 104.0 91.4 18.28 5k 06-18-1991 09:31:54
storescrbuff "9" return * 19.68 5k (1)
markcolumn copy pasteover * 123.0 110.4 22.08 5k
markcolumn cut paste * 130.0 117.4 23.48 5k
markcolumn storescrbuff "9" return
* 129.0 116.4 23.28 5k
appendscrbuff "9" return * 22.08 5k (1)
markcolumn appendscrbuff "9" return
* 141.0 128.4 25.68 5k
getscrbuff "9" return * 24.42 5k (2) 06-17-1991 19:02:41
getscrbuff "9" return delch * 145.0 132.4 26.48 5k 06-17-1991 19:02:41

find "*" return delline return * 24.53 5k (7,8) 06-17-1991 23:37:24

find "*" return delline return * 139.0 126.4 25.38 5k (8) 06-17-1991 23:37:24
cursorleft

findreplace "*" return * 33.13 5k (7,8) 06-17-1991 23:37:04

findreplace "*" return * 182.0 169.4 33.88 5k (8) 06-17-1991 23:37:08
delline return "1" return
cursorleft
showentryscreen return * 45.0 42.47 42.47 1k 06-18-1991 21:55:11
Shiftright Shiftleft * 245.0 232.4 46.48 5k
(Shift file, see macro below)

* 
editfile escape * 111.0 85.7 8.57 10k

editfile "0k" return 165.0 152.4 30.48 5k 06-30-1991 21:15:52

editfile currentfilename (che on) 371.0 345.0 33.7 10k b
return
editfile currentfilename (che off) 36.0 33.4 33.4 1k 06-28-1991 00:11:11
return
editfile currentfilename (che on) 36.0 33.4 33.4 1k r 06-28-1991 00:11:11
return

editfile "100k" *(che on) * 32.8 30.3 59.11 «k 06-30-1991 11:29:59
return
editfile "0k" return
editfile "100k" *(che on) * 23.0 12.0 59.11 203 06-30-1991 10:36:46
return
editfile "0k" return
editfile "100k" *(che off) * 23.0 12.0 59.11 203 06-30-1991 10:33:07
return
editfile "0k" return
editfile "100k" *(che off) * 64.0 61.47 61.47 1k 06-30-1991 10:20:03
return
editfile "0k" return
editfile "100k" *(che on) * 64.0 61.47 61.47 1k 06-30-1991 10:17:14
return
editfile "0k" return

editfile "100k" *(che on) * 196.0 183.4 36.68 5k 06-30-1991 10:01:23
return prevfile

editfile "count.qm" (che on) * 241.0 228.4 45.7 5k 06-29-1991 19:46:11
return prevfile
R editfile "count.qm" (che off) * 241.0 228.4 45.7 5k 06-29-1991 23:48:56
return prevfile
? editfile "count.qm" (che off) * 155.0 144.0 709.0 203 (9) 06-28-1991 00:52:07
return
editfile "0k" return
editfile "count.qm" (che on ) * 61.0 50.0 246.0 203 (9) 06-28-1991 00:52:07
return
editfile "0k" return
? editfile "count.qm" (che off) * 77.0 75.8 3295.0 23 (9) 06-28-1991 08:31:49
return quit
editfile "count.qm" (che on) * 40.0 38.8 1687.0 203 (9) 06-28-1991 08:31:49
return quit

editfile "nul" escape * 155.0 129.0 12.60 10k b
editfile "nul" return prevfile * 349.0 823.0 31.54 10k bmw
editfile "nul" return prevfile * 168.0 145.4 29.1 5k 06-29-1991 19:32:15
editfile "nul" return quit * 870.0 844.0 82.4 10k bmw
(JG 32/500=64.0)
| editfile "nul" return quit * 43.0 41.7 84.5 «k rw 06-25-1991 12:55:58
editfile "nul" return quit(che on) 92.0 92.0 92.0 1k s 06-25-1991 10:23:06

* 
Slowest..... 100.00 +
-------------------------------
| editfile "00k" return quit(chc on) 250.0 248.7 497.5 «k wr 06-25-1991 12:57:06
| editfile "00k" return quit(chc off) 716.0 714.7 1429.5 «k wr 06-25-1991 12:57:06

editfile "0k" return quit(che on) 490.0 490.0 490.0 1k s 06-25-1991 10:08:41
editfile "0k" return quit(che off)1380.0 1380.0 1380.0 1k se 06-25-1991

editfile "$$$$$.$$" escape * 166.0 140.0 13.67 10k b
| editfile "$$$$$.$$" (che on) * 710.0 710.0 710.0 1k sr 06-25-1991 11:08:01
return quit
editfile "$$$$$.$$" (che on) * 1012.0 1009.4 985.7 1k ew
return quit
| editfile "$$$$$.$$" (che off) * 2000.0 2000.0 2000.0 1k s 06-25-1991 11:08:01 `
return quit

DOS "rem" return return * 3000.0 2999.7 2999.7 1k e 06-18-1991 13:25:07

* 
Footnotes
---------
1 - Estimated subtracting markcolumn time of 3.60
2 - Estimated subtracting delch time of 2.06
3 - Estimated subtracting markcolumn copy time of 13.67
4 - Estimated subtracting markcolumn cut time of 15.56
5 - Equivalent repeats reduced by commands tested
6 - Estimated subtracting markcolumn
7 - Estimated subtracting cursorleft time of 0.75
8 - Used all stars to fill block
9 - Test with line L4 added
e - Run time extrapolated
m - @9 changed "nul" to "0k", a zero length file existing in directory
w - Used QEdit modified to *not* close window when file is quit
b - Tested with earlier macro version having slightly different base times
c - Calculated including results of other tests
r - Repeat of same test
s - seperate macro not tested with timer macro
R - Repeat to check

* 
* Macros
*-------

"*" + BEGLINE after each 500 chars deleted (see macro below)
Insert OFF * 51.0 38.4 7.68 5 06-19
Insert ON * 170.0 157.4 31.48 5 06-19

"*"
Del_Ch
jtrue TIME:
prevwindow
gotocolumn "53" return
deltoeol
Insert_Time
prevposition
delrtword delch
nextwindow
BEGLINE
cursorup
jtrue TIME:

Shiftright Shiftleft ( Shift File) * 245.0 232.4 46.48 5
unmarkblock
begfile markline
endfile markline
BEGLINE
TIME:
shiftright shiftleft
Del_Ch
jtrue TIME:

markcolumn * 55.0 52.47 52.47 1
storescrbuff "9" return
cut
getscrbuff "9" return
Del_Ch
jtrue TIME:
prevwindow
gotocolumn "53" return
deltoeol
Insert_Time
prevposition
delrtword delch
nextwindow
BEGLINE
Del_Ch
jtrue TIME: