The attached file has a benchmark to test a collection of conversion algorithms. The result for the test is written to BMLOG.TXT.
These are the results 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$ 391 ms
timing Ray modified utoa3 234 ms
prescott w/htt
Intel(R) Pentium(R) 4 CPU 3.00GHz
Results 8 pass average
timing Ray original utoa 468 ms
timing Paul Dixon utoa_ex 175 ms
timing brethren utoa2 343 ms
timing Lingo utoa_ex 173 ms
timing msvc ustr$ 1707 ms
timing Ray modified utoa3 466 ms
rsrc.rc, line 21 might require a tiny change:
chokes on some puters: #include "H:/masm32/INCLUDE/resource.h"
heals the problem: #include "/masm32/INCLUDE/resource.h"
:biggrin: Yep.
Intel(R) Pentium(R) 4 CPU 3.00GHz
Results 8 pass average
timing Ray original utoa 533 ms
timing Paul Dixon utoa_ex 197 ms
timing brethren utoa2 390 ms
timing Lingo utoa_ex 189 ms
timing msvc ustr$ 1896 ms
timing Ray modified utoa3 517 ms
which ever algo you choose, 4294967296 possible values isn't too many to do a complete functional test
(i.e., verify correct output strings for 4294967296 cases) :biggrin:
sometimes the fastest algo is fast because it isn't doing what it's supposed to - lol
Everybody has a theory,the algo do as the algos do. From memory I tested all of them over the DWORD range and all are correct.
Intel(R) Xeon(R) CPU E31230 @ 3.20GHz
Results 8 pass average
timing Ray original utoa 199 ms
timing Paul Dixon utoa_ex 68 ms
timing brethren utoa2 146 ms
timing Lingo utoa_ex 66 ms
timing msvc ustr$ 423 ms
timing Ray modified utoa3 185 ms
AMD Athlon(tm) II X2 250 Processor
Results 8 pass average
timing Ray original utoa 341 ms
timing Paul Dixon utoa_ex 136 ms
timing brethren utoa2 206 ms
timing Lingo utoa_ex 140 ms
timing msvc ustr$ 781 ms
timing Ray modified utoa3 343 ms
Hi,
P-III with Windows 2000. P-MMX with Windows 98.
Regards,
Steve N,
Results 8 pass average
timing Ray original utoa 1526 ms
timing Paul Dixon utoa_ex 687 ms
timing brethren utoa2 1037 ms
timing Lingo utoa_ex 604 ms
timing msvc ustr$ 4462 ms
timing Ray modified utoa3 1387 ms
Results 8 pass average
timing Ray original utoa 13400 ms
timing Paul Dixon utoa_ex 7847 ms
timing brethren utoa2 9074 ms
timing Lingo utoa_ex 8019 ms
timing msvc ustr$ 41197 ms
timing Ray modified utoa3 13788 ms
Hi,
Running Windows 7 x64:
Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
Results 8 pass average
timing Ray original utoa 193 ms
timing Paul Dixon utoa_ex 78 ms
timing brethren utoa2 142 ms
timing Lingo utoa_ex 78 ms
timing msvc ustr$ 392 ms
timing Ray modified utoa3 175 ms
HR,
Ghandi
Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz
Results 8 pass average
timing Ray original utoa 265 ms
timing Paul Dixon utoa_ex 78 ms
timing brethren utoa2 171 ms
timing Lingo utoa_ex 62 ms
timing msvc ustr$ 436 ms
timing Ray modified utoa3 234 ms
AMD FX(tm)-8150 Eight-Core Processor
Results 8 pass average
timing Ray original utoa 290 ms
timing Paul Dixon utoa_ex 81 ms
timing brethren utoa2 171 ms
timing Lingo utoa_ex 78 ms
timing msvc ustr$ 508 ms
timing Ray modified utoa3 255 ms
Regards
Greenhorn
Here is my laptop.
Intel(R) Pentium(R) 4 CPU 3.20GHz
Results 8 pass average
timing Ray original utoa 1090 ms
timing Paul Dixon utoa_ex 312 ms
timing brethren utoa2 595 ms
timing Lingo utoa_ex 353 ms
timing msvc ustr$ 1456 ms
timing Ray modified utoa3 732 ms
Dave.
Here is my desktop.
AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
Results 8 pass average
timing Ray original utoa 587 ms
timing Paul Dixon utoa_ex 146 ms
timing brethren utoa2 355 ms
timing Lingo utoa_ex 178 ms
timing msvc ustr$ 1728 ms
timing Ray modified utoa3 617 ms
Dave.
Hi Every One:
Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz
Results 8 pass average
timing Ray original utoa 314 ms
timing Paul Dixon utoa_ex 113 ms
timing brethren utoa2 226 ms
timing Lingo utoa_ex 99 ms
timing msvc ustr$ 748 ms
timing Ray modified utoa3 308 ms
Regards herge
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
Ah actually, this isn't quite right, CPU is Core 2 Quad Q6600 2.4Ghz. The CPUID posted here (http://masm32.com/board/index.php?topic=189.0) in the original topic identifies the CPU just fine...
Quote from: User12 on June 12, 2012, 02:03:49 PM
Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz
Ah actually, this isn't quite right, CPU is Core 2 Quad Q6600 2.4Ghz. The CPUID posted here (http://masm32.com/board/index.php?topic=189.0) in the original topic identifies the CPU just fine...
Wow, so these cloners managed to write two different brand strings into your CPU :dazzled:
i was gonna say something about that, but the subject isn't really pertinent to this thread :P
he should go over to the CPUID thread and post displayed results from the different CPUID test programs
User12: those string are typically taken from the CPU internal registers
if you get 2 different results, it may be that one of the programs does not access the internal string
i am going to go out on a limb, here, and guess that this one is correct
Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz
could it be that you are using 2 different machines ? :P
Quote from: jj2007 on June 12, 2012, 03:14:44 PM
Quote from: User12 on June 12, 2012, 02:03:49 PM
Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz
Ah actually, this isn't quite right, CPU is Core 2 Quad Q6600 2.4Ghz. The CPUID posted here (http://masm32.com/board/index.php?topic=189.0) in the original topic identifies the CPU just fine...
Wow, so these cloners managed to write two different brand strings into your CPU :dazzled:
Hi,
Would that explain why the code does not run on one
of my machines?
Regards,
Steve N.
Steve - what CPU is in the machine that will not run it ?
Hi Dave,
My bad. This is the wrong thread. It was the CMP versus
CMPS thread. Anyway, a Mobile Intel(R) Celeron(R) processor,
in a Sony Vaio.
Oops,
Steve
QuoteWow, so these cloners managed to write two different brand strings into your CPU :dazzled:
Doh! Not quite... It seems Windows doesn't update files in a zip file like WinRar, I ended up copying the contents of the bmlog.txt file that already exists... :redface: ...Back to the results...
Quotei am going to go out on a limb, here, and guess that this one is correct
Close, I mean it was a 50/50, but nah, it's the Q6600... :D
U12.