This is a little spinoff from the qword to unicode (http://masm32.com/board/index.php?topic=10022.0) thread. I wonder whether to add a fast QWORD to string algo to MasmBasic. Rarely needed, of course, but why shouldn't we beat good ol' CRT by a factor 6.5? :badgrin:
Timings welcome :thup:
This program was assembled with UAsm64 in 32-bit format.
Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz
64 bytes for q2asc
76 bytes for UINT64
3620 ticks for CRT
3572 ticks for CRT
3541 ticks for CRT
Result=1234567890123456789
546 ticks for x32Q
546 ticks for x32Q
593 ticks for x32Q
Result=1234567890123456789
468 ticks for x32Q
483 ticks for x32Q
468 ticks for x32Q
Result=1234567890
110 ticks for q2asc
109 ticks for q2asc
125 ticks for q2asc
Result=1234567890
343 ticks for Baseform (bitRAKE)
312 ticks for Baseform (bitRAKE)
328 ticks for Baseform (bitRAKE)
Result=1234567890
P.S.: No source right now, but holding Shift you can trigger an int 3 :cool:
This program was assembled with UAsm64 in 32-bit format.
11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
64 bytes for q2asc
76 bytes for UINT64
1937 ticks for CRT
1891 ticks for CRT
1968 ticks for CRT
Result=1234567890123456789
500 ticks for x32Q
485 ticks for x32Q
500 ticks for x32Q
Result=1234567890123456789
437 ticks for x32Q
453 ticks for x32Q
438 ticks for x32Q
Result=1234567890
62 ticks for q2asc
47 ticks for q2asc
47 ticks for q2asc
Result=1234567890
78 ticks for Baseform (bitRAKE)
78 ticks for Baseform (bitRAKE)
79 ticks for Baseform (bitRAKE)
Result=1234567890
--- hit any key ---