The MASM Forum Archive 2004 to 2012

Project Support Forums => GoAsm Assembler and Tools => Topic started by: Citric on May 17, 2005, 10:19:02 AM

Title: Code timing macros for GoAsm
Post by: Citric on May 17, 2005, 10:19:02 AM
Hi All
I have ported MichaelW code timing macros to GoAsm but they dont seem to give the same results.

test.exe displays results for the masm32.lib StrLen procedure, at HIGH_PRIORITY_CLASS

Please test them and post your results, maybe with a comparsion to MichaelW macros.

Cheers Adam
ps Any Guru, please have a look to see if i have gone wrong somewhere to get different result to the masm macros.
ps I am building them with "GoAsm.Exe Version 0.52.4 beta" and "GoLink.Exe Version 0.25.4"

edit: [Updated zip file.]

[attachment deleted by admin]
Title: Re: Code timing macros for GoAsm
Post by: Mark Jones on July 13, 2008, 10:50:11 PM
Slightly strange results indeed...


0 cycles
25 cycles
24 cycles
-1 ms
120 ms
111 ms

Press enter to exit...


The first reference test is 0 cycles, which is believable. The next test is REALTIME_PRIORITY_CLASS, and scores slower than HIGH_PRIORTY_CLASS? Then the next reference test (milliseconds) reports "-1ms" but I guess this is not much of a significance. The last two again show that HIGH_PRIORITY_CLASS scores faster than REALTIME_PRIORITY_CLASS.

I thought maybe this was a case of not introducing any sort of stabilization timers, so added a 3-second delay before each of the tests, which resulted in this:


0 cycles
24 cycles
24 cycles
-2 ms
112 ms
113 ms

Press enter to exit...


Those are more believable results, even if the reference ms timer is further "off."

Although I haven't seen ya here in years Citric, thanks for converting this to GoAsm syntax. :U

EDIT: it seems as though the "dwtoa" routine included in this package is different than the one in the MASM32 library. Perhaps some of the contention resides in that function.