BBS: Inland Empire Archive Date: 04-13-92 (17:42) Number: 153 From: DON KROUSE Refer#: NONE To: ALL Recvd: NO Subj: Confusion #2 Conf: (2) Quik_Bas
Continued from previous message. String --------- R O U T I N E --------- Length LOCATE/PRINT PEEK/POKE ASM PRT/ASM POKE/ASM 63 20.82031 28.83984 26.68750 78.02% 108.06% 64 20.82031 29.37891 27.07031 76.91% 108.53% 65 20.80859 29.77344 27.51953 75.61% 108.19% 66 20.80859 30.21094 27.90234 74.58% 108.27% 67 20.80859 30.71094 28.33984 73.43% 108.37% 68 20.82031 31.14844 28.77734 72.35% 108.24% 69 20.82031 31.58203 29.16016 71.40% 108.31% 70 20.81250 32.07813 29.60938 70.29% 108.34% 71 20.82031 32.51953 30.05078 69.28% 108.22% 72 20.82031 32.96094 30.42969 68.42% 108.32% 73 20.82031 33.39063 30.87109 67.44% 108.16% 74 20.80859 33.88672 31.26172 66.56% 108.40% 75 20.82031 34.33203 31.68750 65.71% 108.35% 76 20.82031 34.76953 32.12891 64.80% 108.22% 77 20.82031 35.21094 32.51172 64.04% 108.30% 78 20.80859 35.69922 32.94922 63.15% 108.35% 79 20.82031 36.19922 33.33984 62.45% 108.58% 80 20.82031 36.57813 33.77734 61.64% 108.29% 3,240 1,068.99 1,492.94 1,383.27 77.28% 107.93% DECLARE SUB PrintFast (Rows%, Col%, msg$, atrib%) DECLARE SUB FastPrint (Rows%, Col%, msg$, atrib%) CLS synch! = TIMER DO: Beginning! = TIMER: LOOP WHILE Beginning! = TIMER msg$ = "": loops% = 5000 OPEN "prtest2.txt" FOR OUTPUT AS #1 PRINT #1, "This is a speed test of 3 different screen printing routines." PRINT #1, USING "The test does ###### loops of each routine."; loops% PRINT #1, PRINT #1, "String" PRINT #1, "Length LOCATE/PRINT PEEK/POKE ASM" PRINT #1, "------ ------------ --------- ---------" PRINT #1, FOR j% = 1 TO 80 msg$ = msg$ + "X" synch! = TIMER DO: start! = TIMER: LOOP WHILE start! = synch! FOR i% = 1 TO loops% LOCATE 1, 1: COLOR 15, 1: PRINT msg$ NEXT i% done! = TIMER test3! = done! - start! PRINT USING "LOCATE/PRINT time for #####, loops of length ## is ###.##### second synch! = TIMER DO: start! = TIMER: LOOP WHILE start! = synch! FOR i% = 1 TO loops% PrintFast 1, 1, msg$, 31 NEXT i% done! = TIMER test1! = done! - start! PRINT USING "PEEK/POKE time for #####, loops of length ## is ###.##### seconds"; synch! = TIMER DO: start! = TIMER: LOOP WHILE start! = synch! FOR i% = 1 TO loops% FastPrint 1, 1, msg$, 31 NEXT i% done! = TIMER test2! = done! - start! PRINT USING "ASSEBMLY time for #####, loops of length ## is ###.##### seconds"; PRINT #1, USING " ## ###.##### ###.##### ###.#####"; j%; test3 BEEP NEXT j% PRINT #1, ending! = TIMER TotalTime! = ending! - Beginning! PRINT #1, USING " The test took ##########,.## seconds."; TotalTime! CLOSE #1 BEEP: BEEP: BEEP: BEEP: BEEP DEFINT A-Z SUB PrintFast (Rows%, Col%, msg$, atrib%) place% = ((((Rows - 1) * 80) + Col) - 1) * 2 DEF SEG = &HB800 FOR i = 1 TO LEN(msg$) POKE place%, ASC(MID$(msg$, i, 1)) POKE place% + 1, atrib place% = place% + 2 NEXT i DEF SEG END SUB --- * Origin: Silver Lake Systems * Bothell, WA (1:343/58)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET