The MASM Forum Archive 2004 to 2012

General Forums => The Laboratory => Topic started by: hutch-- on November 30, 2010, 01:54:04 AM

Title: The last (I hope) benchmark for utoa algos.
Post by: hutch-- on November 30, 2010, 01:54:04 AM
I have put all of the viable utoa style algos into this benchmark, Ray original that returns a pointer to the start of the characters, Paul Dixons version, Brethren's modified vrsion, Lingo's mod on Pauls algo and a modified version of Rays algo just to make sure I had done justice to it timing wise. The MSVCRT version is there for comparison. I modified Lingo's version using his suggestion to balance the CALL RET pairing which slightly slowed it down but it is still a fast algo.

With the shorter algo, brethren's has the legs, with the two long versions I get identical times between Pauls original and Lingo's mod.

These are the results I am getting on my dev Core2 quad.


Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz
Results 8 pass average
timing Ray original utoa 234 ms
timing Paul Dixon utoa_ex 78 ms
timing brethren utoa2 172 ms
timing Lingo utoa_ex 78 ms
timing msvc ustr$ 390 ms
timing Ray modified utoa3 234 ms


I would be interested in seeing timing differences on different hardware.

These are the timings on my old timers.



Genuine Intel(R) CPU 3.80GHz
Results 8 pass average
timing Ray original utoa 360 ms
timing Paul Dixon utoa_ex 125 ms
timing brethren utoa2 265 ms
timing Lingo utoa_ex 125 ms
timing msvc ustr$ 1418 ms
timing Ray modified utoa3 360 ms

Intel(R) Pentium(R) 4 CPU 2.80GHz
Results 8 pass average
timing Ray original utoa 1123 ms
timing Paul Dixon utoa_ex 316 ms
timing brethren utoa2 593 ms
timing Lingo utoa_ex 328 ms
timing msvc ustr$ 2017 ms
timing Ray modified utoa3 734 ms

Intel(R) Celeron(TM) CPU 1200MHz
Results 8 pass average
timing Ray original utoa 920 ms
timing Paul Dixon utoa_ex 380 ms
timing brethren utoa2 613 ms
timing Lingo utoa_ex 368 ms
timing msvc ustr$ 2686 ms
timing Ray modified utoa3 831 ms
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: dedndave on November 30, 2010, 02:06:34 AM
prescott w/htt
Intel(R) Pentium(R) 4 CPU 3.00GHz
Results 8 pass average
timing Ray original utoa   482 ms
timing Paul Dixon utoa_ex  177 ms
timing brethren utoa2      367 ms
timing Lingo utoa_ex       173 ms
timing msvc ustr$         1761 ms
timing Ray modified utoa3  470 ms


naw - when you get this one thoroughly tested, we will pop a new algo on you   :P
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: clive on November 30, 2010, 02:48:31 AM
Might get to a few systems, here's the older Netbook

Intel(R) Atom(TM) CPU N270 @ 1.60GHz
Results 8 pass average
timing Ray original utoa 1275 ms
timing Paul Dixon utoa_ex 536 ms
timing brethren utoa2 920 ms
timing Lingo utoa_ex 542 ms
timing msvc ustr$ 3095 ms
timing Ray modified utoa3 1429 ms


Old dual Celeron/Mendocino
Results 8 pass average
timing Ray original utoa 2800 ms
timing Paul Dixon utoa_ex 1240 ms
timing brethren utoa2 1875 ms
timing Lingo utoa_ex 1113 ms
timing msvc ustr$ 14712 ms
timing Ray modified utoa3 2533 ms
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: lingo on November 30, 2010, 03:45:26 AM
Intel(R) Core(TM)2 Duo CPU E8500 @ 3.16GHz
Results 8 pass average
timing Ray original utoa 234 ms
timing Paul Dixon utoa_ex 78 ms
timing brethren utoa2 156 ms
timing Lingo utoa_ex 62 ms
timing msvc ustr$ 374 ms
timing Ray modified utoa3 234 ms
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: oex on November 30, 2010, 04:31:06 AM
AMD Sempron(tm) Processor 3100+
Results 8 pass average
timing Ray original utoa 556 ms
timing Paul Dixon utoa_ex 160 ms
timing brethren utoa2 332 ms
timing Lingo utoa_ex 170 ms
timing msvc ustr$ 1851 ms
timing Ray modified utoa3 550 ms

Oh and I found out why the version info was showing.... I used your created object file.... Looks like I'll have to work out how to write my own with 6.15 ::)
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: frktons on November 30, 2010, 11:33:17 AM

Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
Results 8 pass average
timing Ray original utoa 306 ms
timing Paul Dixon utoa_ex 171 ms
timing brethren utoa2 220 ms
timing Lingo utoa_ex 165 ms
timing msvc ustr$ 711 ms
timing Ray modified utoa3 296 ms
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: Farabi on November 30, 2010, 11:58:06 AM
I wonder, why MS did not use lingo algo than using their existing one? That was slow, but nevermind, I can use it as a weapon for my software company against HLL  :green
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: brethren on November 30, 2010, 02:14:37 PM
AMD Turion(tm) 64 X2 Mobile Technology TL-52
Results 8 pass average
timing Ray original utoa 613 ms
timing Paul Dixon utoa_ex 187 ms
timing brethren utoa2 375 ms
timing Lingo utoa_ex 185 ms
timing msvc ustr$ 2052 ms
timing Ray modified utoa3 617 ms
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: FORTRANS on November 30, 2010, 03:11:27 PM
Hi,

P-MMX Win98.

Results 8 pass average
timing Ray original utoa 13785 ms
timing Paul Dixon utoa_ex 9154 ms
timing brethren utoa2 9237 ms
timing Lingo utoa_ex 8940 ms
timing msvc ustr$ 42941 ms
timing Ray modified utoa3 13943 ms


P-III Win2k

Results 8 pass average
timing Ray original utoa 1523 ms
timing Paul Dixon utoa_ex 678 ms
timing brethren utoa2 1021 ms
timing Lingo utoa_ex 598 ms
timing msvc ustr$ 4445 ms
timing Ray modified utoa3 1381 ms


Cheers,

Steve N.
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: MichaelW on November 30, 2010, 03:51:49 PM
Results for a 500MHz P3 (the blocks were the ASCII characters 1, 1, 2, and 3):


Results 8 pass average
timing Ray original utoa 2556 ms
timing Paul Dixon utoa_ex 1142 ms
timing brethren utoa2 1711 ms
timing Lingo utoa_ex 1017 ms
timing msvc ustr$ 7445 ms
timing Ray modified utoa3 2313 ms

Title: Re: The last (I hope) benchmark for utoa algos.
Post by: mineiro on December 14, 2010, 09:18:25 PM
Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz
Results 8 pass average
timing Ray original utoa 377 ms
timing Paul Dixon utoa_ex 125 ms
timing brethren utoa2 265 ms
timing Lingo utoa_ex 127 ms
timing msvc ustr$ 921 ms
timing Ray modified utoa3 375 ms
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: Astro on January 02, 2011, 08:52:10 PM
AMD Phenom II X4 970 @ 3.5 GHz (stock speed).
Results 8 pass average
timing Ray original utoa 263 ms
timing Paul Dixon utoa_ex 83 ms
timing brethren utoa2 144 ms
timing Lingo utoa_ex 80 ms
timing msvc ustr$ 633 ms
timing Ray modified utoa3 257 ms


I think that is correct; the GUI ran and I just copied the figures. I'm assuming they are ms.

Win 7 chokes and sometimes says "Not Responding" though it is still running. I ran the test multiple times; I found it was sometimes slower on the first run after loading, even though it was not the first time it was loaded.

Best regards,
Robin.
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: Yuri on January 03, 2011, 07:31:30 AM

Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz
Results 8 pass average
timing Ray original utoa 250 ms
timing Paul Dixon utoa_ex 78 ms
timing brethren utoa2 158 ms
timing Lingo utoa_ex 62 ms
timing msvc ustr$ 419 ms
timing Ray modified utoa3 230 ms
Title: Re: The last (I hope) benchmark for utoa algos.
Post by: jj2007 on January 03, 2011, 07:47:50 AM
Here it is :U

Intel(R) Celeron(R) M CPU 420 @ 1.60GHz
Results 8 pass average
timing Ray original utoa 607 ms
timing Paul Dixon utoa_ex 285 ms
timing brethren utoa2 437 ms
timing Lingo utoa_ex 281 ms
timing msvc ustr$ 1205 ms
timing Ray modified utoa3 578 ms