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

dedndave

first, i use a patched version of 6.15
i got the original and the patch from Iczelion's site
the patch adds some text to the command line that i did not like
so, i re-worked the patch a bit
the 6.15 version by MS reports version 6.15.8803
my patched version reports version 6.15.8804
the patched version is available here
ML Version 6.15.8804 (patched)

as for the 10 - no - i used the one you included with your attachment as the Test10.exe

Antariy

Quote from: dedndave on November 10, 2010, 01:33:54 AM
as for the 10 - no - i used the one you included with your attachment as the Test10.exe

The size of ML10+LINK10 executable is bigger, because LINK put a relocations into EXE, even if it is based on 400000h. Needed to specify /FIXED switch. And LINK.EXE v.10  without patching does not allow to set subsystem version to value less than 5.0.

dedndave

actually, the ML10 version is 1 Kb smaller   :bg

Antariy

Quote from: dedndave on November 10, 2010, 01:40:00 AM
actually, the ML10 version is 1 Kb smaller   :bg

Well, that is not have meaning. Some pages ago I sayed to Frank about this, and he uses POLINK, it seems.

dedndave

well - that makes it hard to find the differences - lol

you might be able to use 6.15 and 10 to assemble
use the MS 10 linker
then compare the 2 EXE's

it might make it easy to find out what the problems are
otherwise, i'd have to read every line of code to see what is up   :(

Antariy

Quote from: dedndave on November 10, 2010, 01:45:23 AM
well - that makes it hard to find the differences - lol

you might be able to use 6.15 and 10 to assemble
use the MS 10 linker
then compare the 2 EXE's

it might make it easy to find out what the problems are

What you mean? If the format - then is possible to compile with ML10+LINK10 not bigger than with POLINK.
If you meant code generation - this is right - ML6.15 and ML10 differently generate code for used "push word ptr [xxx]".
But problem is solved already :lol

dedndave

if you are using SSE3 instructions, that is the problem
masm version 6.15 only supports up to SSE2

Antariy

Quote from: dedndave on November 10, 2010, 01:45:23 AM
otherwise, i'd have to read every line of code to see what is up   :(

No, Dave, no! Not spent your time for this - no need in bothering yourself. Problem was *solved*.
Latest posted by Frank archive at previous page, is the right version.
Current code compilable right with ML6.15

dedndave

it runs very slow, now   :(

but, it does assemble and run correctly with 6.15

Antariy

Quote from: dedndave on November 10, 2010, 01:55:27 AM
it runs very slow, now   :(

What, what is? Which archive do you use? Which tested algo run slower?

dedndave

you updated the link, right ?

they all run slow - meaning it takes a long time to run the tests

┌────────────────────────────────────────────────────────────────────────────────────────┐
│OS  : Microsoft Windows XP Professional Service Pack 2 (build 2600)                     │
│CPU : Intel(R) Pentium(R) 4 CPU 3.00GHz with MMX, SSE1, SSE2, SSE3                      │
│                                                                                        │
│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    │    9.724 │    9.666 │    9.660 │    9.690 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│02 Frank / 486 - MOV-BSWAP       │   43    │   13.943 │   13.953 │   13.971 │   14.028 ││
├─────────────────────────────────┼─────────┼──────────┼──────────┼──────────┼──────────┼┤
│03 Frank / XMM PUNPCKLBW MOVDQA  │   44    │    4.663 │    5.170 │    5.418 │    4.760 ││


did you change the loop count ?

Antariy

Quote from: dedndave on November 10, 2010, 01:57:51 AM
you updated the link, right ?

they all run slow - meaning it takes a long time to run the tests

did you change the loop count ?

Ah... This - well, if you have readed previous page - you saw that I suggest to Frank decrease the counter of loops.
I have not posted archives, Dave, all archives posted by Frank. I only posted code pieces which was needed in modifying to be compilable right with ML6.15.

Yes, I have noticed that Frank increase a time of test, too. But you can ask to him about that tomorrow only.

dedndave

we usually try to adjust the loop counts so that each run takes 0.5 to 1.0 seconds

frktons

The LOOP COUNT was 1.000.000 in the latest version.
I've set it to 100.000 that is fast enough and accurate enough as well.  :P

If you want to rerun the test, just press the [R/r] key.

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

dedndave

it could make a measurement and calculate a loop count variable
that way, the tests always take ~0.5 seconds