News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

A New Testbed for MASM32 Forum

Started by frktons, September 21, 2010, 05:25:26 PM

Previous topic - Next topic

Antariy

Results:

├─────────────────────────────────┬─────────┬──────────┬──────────┬──────────┬──────────┬┤
│        Algorithm notes          │Proc Size│ Test # 1 │ Test # 2 │ Test # 3 │ Test # 4 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│01 Alex / MMX - PUNPCKLBW        │   62    │   11.778 │   11.725 │   11.729 │   11.704 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│02 Frank / 486 - MOV-BSWAP       │   43    │   13.433 │   13.433 │   13.590 │   13.641 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│03 Frank / XMM PUNPCKLBW MOVDQA  │   44    │    6.824 │    6.789 │    6.828 │    6.821 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤


frktons

OK  :U
ReFixed. Now it should also have the corrected colors.  :P

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Frank, use alignment of the all buffers and DOS-screen data embedded into program. Use align 16, that would be better.

frktons

Quote from: Antariy on November 09, 2010, 11:50:17 PM
Frank, use alignment of the all buffers and DOS-screen data embedded into program. Use align 16, that would be better.


Done.  :U

Now the
XMM PUNPCKLBW MOVDQA version


is even faster.  :lol

Frank
Mind is like a parachute. You know what to do in order to use it :-)

frktons


┌────────────────────────────────────────────────────────────────────────────────────────┐
│OS  : Microsoft Windows 7 Ultimate Edition, 64-bit (build 7600)                         │
│CPU : Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz with MMX, SSE1, SSE2, SSE3, SSSE3           │
│                                                                                        │
│Test: Conversion of a screen buffer from DOS to Windows CHAR_INFO structure             │
├─────────────────────────────────┬─────────┬──────────┬──────────┬──────────┬──────────┬┤
│        Algorithm notes          │Proc Size│ Test # 1 │ Test # 2 │ Test # 3 │ Test # 4 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│01 Alex / MMX - PUNPCKLBW        │   62    │    6.001 │    6.005 │    5.993 │    6.001 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│02 Frank / 486 - MOV-BSWAP       │   43    │    8.292 │    8.283 │    8.307 │    8.304 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│03 Frank / XMM PUNPCKLBW MOVDQA  │   44    │    2.367 │    2.354 │    2.367 │    2.369 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤

:U
Mind is like a parachute. You know what to do in order to use it :-)

Antariy


├─────────────────────────────────┬─────────┬──────────┬──────────┬──────────┬──────────┬┤
│        Algorithm notes          │Proc Size│ Test # 1 │ Test # 2 │ Test # 3 │ Test # 4 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│01 Alex / MMX - PUNPCKLBW        │   62    │   11.868 │   11.801 │   11.798 │   11.792 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│02 Frank / 486 - MOV-BSWAP       │   43    │   14.160 │   14.165 │   14.164 │   14.280 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│03 Frank / XMM PUNPCKLBW MOVDQA  │   44    │    4.593 │    4.589 │    4.591 │    4.591 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤


:lol

Antariy

Quote from: frktons on November 09, 2010, 11:47:24 PM
ReFixed. Now it should also have the corrected colors.  :P

Frank, do you saw my two latest post on the previous page?

Frank, change the count of loops for timing macros - test too long. Tests work with buffers which is big enough, so - no needed to do many-many loops.


frktons

Quote from: Antariy on November 10, 2010, 12:04:03 AM
Frank, do you saw my two latest post on the previous page?

Frank, change the count of loops in for timing macros - test too long. Tests work with buffers which is big enough, so - no needed to do many-many loops.

Yes I saw it and I changed the SetColorTo PROC with DWORD instead of BYTE and modified the code
to suit the changes.

The loops were 1.000 in previous versions, but the results seemed strange. So I changed to 1.000.000 and now
they look pretty stable.

By the way, it is up to the user to set the loop count to what he likes.
We are just making some experiments and we can set the loop count to whatever value we like.
What count do you suggest for these preliminary tests?

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy


frktons

Quote from: Antariy on November 10, 2010, 12:17:19 AM
Quote from: frktons on November 10, 2010, 12:10:43 AM
What count do you suggest for these preliminary tests?

~3000


OK  :U

From next version I'll set the count to a small number.  :P

But I've noticed that with small numbers the results tend to change in a wide range.
Only with loop count > 100.000 the results tend to be stable.

Good Night.

Frank
Mind is like a parachute. You know what to do in order to use it :-)

dedndave

it assembles fine with the modified 6.15 that i usually use
however, the CPU/OS text is white, and the results do not appear, as Alex said

i tried to assemble it with version 6.14, just to see what would happen
6.14 does not support XMM or SSE2/3
but, maybe some of the other errors give clues   :P
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997.  All rights reserved.

Assembling: NewTestBed.asm
NewTestBed.asm(1019) : error A2008: syntax error : [
NewTestBed.asm(1687) : error A2008: syntax error : [
NewTestBed.asm(1745) : error A2008: syntax error : xmm
NewTestBed.asm(1747) : error A2008: syntax error : [


now, comparing the EXE generated by ML 10 with the one generated by 6.15:
the ML615 EXE is 1024 bytes longer than the ML10 EXE
the binary comparison is attached...

Antariy

Quote from: dedndave on November 10, 2010, 01:19:42 AM
it assembles fine with the modified 6.15 that i usually use
however, the CPU/OS text is white, and the results do not appear, as Alex said

i tried to assemble it with version 6.14, just to see what would happen
6.14 does not support XMM or SSE2/3
but, maybe some of the other errors give clues   :P
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997.  All rights reserved.

Assembling: NewTestBed.asm
NewTestBed.asm(1019) : error A2008: syntax error : [
NewTestBed.asm(1687) : error A2008: syntax error : [
NewTestBed.asm(1745) : error A2008: syntax error : xmm
NewTestBed.asm(1747) : error A2008: syntax error : [


now, comparing the EXE generated by ML 10 with the one generated by 6.15:
the ML615 EXE is 1024 bytes longer than the ML10 EXE
the binary comparison is attached...

The problem is fixed, Dave - 7 posts above - the new one. Initially Frank does not believe that this problem exist  :lol
So, try recompile the version which is mentinioned.

Thank you for collaboration  :U



Alex

dedndave


Antariy

Quote from: dedndave on November 10, 2010, 01:19:42 AM
it assembles fine with the modified 6.15 that i usually use
...........
now, comparing the EXE generated by ML 10 with the one generated by 6.15:
the ML615 EXE is 1024 bytes longer than the ML10 EXE
the binary comparison is attached...

By the way, which is modifyed in the ML? Just curious, because... Well, rules is rules  :green2
Dave, did you use ML10 and LINK v.10, too?

Antariy

Quote from: dedndave on November 10, 2010, 01:26:24 AM
that'll be $50 USD, Alex   :bdg

Well, I have ancient MLs, too. So, I can (and done) tests myself. Thank you for the expensive priceless help  :green2