News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Sorting strings

Started by RuiLoureiro, May 29, 2014, 06:15:48 AM

Previous topic - Next topic

dedndave

prescott w/htt XP SP3
STRINGS:
a bcd efg hij klm nop
ab cdefg hijk lmnopA

abc de fghijkl mn op
abc defg hi jk lm nop

abc de fghijkl mn op A
abc defg hi jk lm nop

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY
X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY
145 milliseconds, CompareStringXYS, _string01X, _string01Y
138 milliseconds, CompareStringXYS, _string02X, _string02Y
142 milliseconds, CompareStringXYS, _string03X, _string03Y
171 milliseconds, CompareStringXYBS, _string01X, _string01Y
170 milliseconds, CompareStringXYBS, _string02X, _string02Y
179 milliseconds, CompareStringXYBS, _string03X, _string03Y
*** Press any key to get the time table ***

***** Time table *****

138 milliseconds, CompareStringXYS -_string02X EQUAL _string02Y-16 bytes
142 milliseconds, CompareStringXYS -_string03X GREATER _string03Y-16 bytes
145 milliseconds, CompareStringXYS -_string01X LESS _string01Y-16 bytes
170 milliseconds, CompareStringXYBS -_string02X EQUAL _string02Y-16 bytes
171 milliseconds, CompareStringXYBS -_string01X LESS _string01Y-16 bytes
179 milliseconds, CompareStringXYBS -_string03X GREATER _string03Y-16 bytes
********** END 2 **********

RuiLoureiro

#16
Dave,
      9 downloads and only your answer
      which seems to mean that they
      dont want to help but the code(?)
      Ok thank you.  :t

Last results:

      CompareStringXYS  -> remove spaces, convert to uppercase
                           and copy to stack;
                           load dwords, compare.
      CompareStringXYBS -> remove spaces, convert to uppercase
                           and copy to stack;
                           load bytes, compare.
      CompareStringXYT  -> load byte, remove space,
                           convert to uppercase
                           compare.

      Have you anyone to compare ?
Quote
-----------------------------------------------------
Intel(R) Pentium(R) 4 CPU 3.40GHz (SSE3)
-----------------------------------------------------
***** Time table *****

  95 milliseconds, CompareStringXYT - string01X LESS     string01Y
111 milliseconds, CompareStringXYT - string02X EQUAL    string02Y
114 milliseconds, CompareStringXYS - string02X EQUAL    string02Y
121 milliseconds, CompareStringXYT - string03X GREATER  string03Y
124 milliseconds, CompareStringXYS - string01X LESS     string01Y
129 milliseconds, CompareStringXYS - string03X GREATER  string03Y
175 milliseconds, CompareStringXYBS- string01X LESS    string01Y
180 milliseconds, CompareStringXYBS- string03X GREATER string03Y
189 milliseconds, CompareStringXYBS- string02X EQUAL   string02Y
********** END 2 **********

FORTRANS

Hi,

Quote from: RuiLoureiro on June 12, 2014, 04:04:08 AM
Dave,
      9 downloads and only your answer
      which seems to mean that they
      dont want to help but the code(?)

   Tried the code from Reply #12 on two systems, and it does
not seem to complete.  P-III, Win2x, and Pentium M, Win XP.


STRINGS:
a bcd efg hij klm nop
ab cdefg hijk lmnopA

abc de fghijkl mn op
abc defg hi jk lm nop

abc de fghijkl mn op A
abc defg hi jk lm nop

X is less than Y
ShowResultXY


Regards,

Steve N.

dedndave

you have to hit Enter (or any key) a few times

FORTRANS

Quote from: dedndave on June 13, 2014, 02:18:20 AM
you have to hit Enter (or any key) a few times

Hi Dave,

   Oh.  Duh.  In that case.


{P-III}

STRINGS:
a bcd efg hij klm nop
ab cdefg hijk lmnopA

abc de fghijkl mn op
abc defg hi jk lm nop

abc de fghijkl mn op A
abc defg hi jk lm nop

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY
X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY
515 milliseconds, CompareStringXYS, _string01X, _string01Y
587 milliseconds, CompareStringXYS, _string02X, _string02Y
632 milliseconds, CompareStringXYS, _string03X, _string03Y
569 milliseconds, CompareStringXYBS, _string01X, _string01Y
645 milliseconds, CompareStringXYBS, _string02X, _string02Y
686 milliseconds, CompareStringXYBS, _string03X, _string03Y
*** Press any key to get the time table ***

***** Time table *****

515 milliseconds, CompareStringXYS -_string01X LESS _string01Y-16 bytes
569 milliseconds, CompareStringXYBS -_string01X LESS _string01Y-16 bytes
587 milliseconds, CompareStringXYS -_string02X EQUAL _string02Y-16 bytes
632 milliseconds, CompareStringXYS -_string03X GREATER _string03Y-16 bytes
645 milliseconds, CompareStringXYBS -_string02X EQUAL _string02Y-16 bytes
686 milliseconds, CompareStringXYBS -_string03X GREATER _string03Y-16 bytes
********** END 2 **********

{Pentium M}

STRINGS:
a bcd efg hij klm nop
ab cdefg hijk lmnopA

abc de fghijkl mn op
abc defg hi jk lm nop

abc de fghijkl mn op A
abc defg hi jk lm nop

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY
X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY
433 milliseconds, CompareStringXYS, _string01X, _string01Y
203 milliseconds, CompareStringXYS, _string02X, _string02Y
236 milliseconds, CompareStringXYS, _string03X, _string03Y
252 milliseconds, CompareStringXYBS, _string01X, _string01Y
229 milliseconds, CompareStringXYBS, _string02X, _string02Y
245 milliseconds, CompareStringXYBS, _string03X, _string03Y
*** Press any key to get the time table ***

***** Time table *****

203 milliseconds, CompareStringXYS -_string02X EQUAL _string02Y-16 bytes
229 milliseconds, CompareStringXYBS -_string02X EQUAL _string02Y-16 bytes
236 milliseconds, CompareStringXYS -_string03X GREATER _string03Y-16 bytes
245 milliseconds, CompareStringXYBS -_string03X GREATER _string03Y-16 bytes
252 milliseconds, CompareStringXYBS -_string01X LESS _string01Y-16 bytes
433 milliseconds, CompareStringXYS -_string01X LESS _string01Y-16 bytes
********** END 2 **********


HTH,

Steve N.

RuiLoureiro

#20
Thanks Dave
     and FORTRANS  :t

now i have this:


X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

126 milliseconds, CompareStringXYS, _string01X, _string01Y
118 milliseconds, CompareStringXYS, _string02X, _string02Y
123 milliseconds, CompareStringXYS, _string03X, _string03Y
104 milliseconds, CompareStringXYT, _string01X, _string01Y
105 milliseconds, CompareStringXYT, _string02X, _string02Y
117 milliseconds, CompareStringXYT, _string03X, _string03Y
152 milliseconds, CompareStringXYBS, _string01X, _string01Y
167 milliseconds, CompareStringXYBS, _string02X, _string02Y
176 milliseconds, CompareStringXYBS, _string03X, _string03Y
91 milliseconds, StringCmpC, _string01X, _string01Y
94 milliseconds, StringCmpC, _string02X, _string02Y
95 milliseconds, StringCmpC, _string03X, _string03Y
78 milliseconds, StringCmpD, _string01X, _string01Y
70 milliseconds, StringCmpD, _string02X, _string02Y
69 milliseconds, StringCmpD, _string03X, _string03Y
106 milliseconds, StringCmpE, _string01X, _string01Y
84 milliseconds, StringCmpE, _string02X, _string02Y
97 milliseconds, StringCmpE, _string03X, _string03Y
79 milliseconds, StringCmpF, _string01X, _string01Y
86 milliseconds, StringCmpF, _string02X, _string02Y
64 milliseconds, StringCmpF, _string03X, _string03Y
*** Press any key to get the time table ***

Quote
-----------------------------------------------------
Intel(R) Pentium(R) 4 CPU 3.40GHz (SSE3)
-----------------------------------------------------
***** Time table *****

64 milliseconds, StringCmpF -_string03X GREATER _string03Y-16 bytes
69 milliseconds, StringCmpD -_string03X GREATER _string03Y-16 bytes
70 milliseconds, StringCmpD -_string02X EQUAL _string02Y-16 bytes
78 milliseconds, StringCmpD -_string01X LESS _string01Y-16 bytes
79 milliseconds, StringCmpF -_string01X LESS _string01Y-16 bytes
84 milliseconds, StringCmpE -_string02X EQUAL _string02Y-16 bytes
86 milliseconds, StringCmpF -_string02X EQUAL _string02Y-16 bytes
;--------------------------------------------------------------------
91 milliseconds, StringCmpC -_string01X LESS _string01Y-16 bytes
94 milliseconds, StringCmpC -_string02X EQUAL _string02Y-16 bytes
95 milliseconds, StringCmpC -_string03X GREATER _string03Y-16 bytes
97 milliseconds, StringCmpE -_string03X GREATER _string03Y-16 bytes
104 milliseconds, CompareStringXYT -_string01X LESS _string01Y-16 bytes
105 milliseconds, CompareStringXYT -_string02X EQUAL _string02Y-16 bytes
106 milliseconds, StringCmpE -_string01X LESS _string01Y-16 bytes
117 milliseconds, CompareStringXYT -_string03X GREATER _string03Y-16 bytes
118 milliseconds, CompareStringXYS -_string02X EQUAL _string02Y-16 bytes
123 milliseconds, CompareStringXYS -_string03X GREATER _string03Y-16 bytes
126 milliseconds, CompareStringXYS -_string01X LESS _string01Y-16 bytes
152 milliseconds, CompareStringXYBS -_string01X LESS _string01Y-16 bytes
167 milliseconds, CompareStringXYBS -_string02X EQUAL _string02Y-16 bytes
176 milliseconds, CompareStringXYBS -_string03X GREATER _string03Y-16 bytes
********** END 2 **********

FOR strings WITHOUT spaces:
note: A_stricmp is an optimized version
written by an expert.

STRINGS:
_string01X       db "abCdefghijklmnop",0
_string01Y       db "aBcdEFGHIJKLMNOPA",0

_string02X       db "aBcefghijklmnop",0
_string02Y       db "abCEFGHIJKLMNOP",0

_string03X       db "abcefghijklmnopA",0
_string03Y       db "abcEFGHIJKLMNOP",0


X is less than Y
ShowResultAB
X is EQUAL Y
ShowResultAB
X is greater than Y
ShowResultAB

X is less than Y
ShowResultAB
X is EQUAL Y
ShowResultAB
X is greater than Y
ShowResultAB

X is less than Y
ShowResultAB
X is EQUAL Y
ShowResultAB
X is greater than Y
ShowResultAB

84 milliseconds, A_stricmp, _string01X, _string01Y
71 milliseconds, A_stricmp, _string02X, _string02Y
73 milliseconds, A_stricmp, _string03X, _string03Y
68 milliseconds, B_stricmp, _string01X, _string01Y
63 milliseconds, B_stricmp, _string02X, _string02Y
65 milliseconds, B_stricmp, _string03X, _string03Y
32 milliseconds, C_stricmp, _string01X, _string01Y
29 milliseconds, C_stricmp, _string02X, _string02Y
32 milliseconds, C_stricmp, _string03X, _string03Y
*** Press any key to get the time table ***


Quote
-----------------------------------------------------
Intel(R) Pentium(R) 4 CPU 3.40GHz (SSE3)
-----------------------------------------------------
***** Time table *****

29 milliseconds, C_stricmp -_string02X EQUAL   _string02Y-16 bytes
32 milliseconds, C_stricmp -_string03X GREATER _string03Y-16 bytes
32 milliseconds, C_stricmp -_string01X LESS    _string01Y-16 bytes
63 milliseconds, B_stricmp -_string02X EQUAL   _string02Y-16 bytes
65 milliseconds, B_stricmp -_string03X GREATER _string03Y-16 bytes
68 milliseconds, B_stricmp -_string01X LESS    _string01Y-16 bytes
71 milliseconds, A_stricmp -_string02X EQUAL   _string02Y-16 bytes
73 milliseconds, A_stricmp -_string03X GREATER _string03Y-16 bytes
84 milliseconds, A_stricmp -_string01X LESS    _string01Y-16 bytes
********** END 2 **********

more...
Quote
-------------------------------------------------------------
Intel(R) Atom(TM) CPU N455   @ 1.66GHz (SSE4)
-------------------------------------------------------------
***** Time table *****

79 milliseconds, C_stricmp -_string01X LESS    _string01Y-16 bytes
79 milliseconds, B_stricmp -_string01X LESS    _string01Y-16 bytes
86 milliseconds, B_stricmp -_string02X EQUAL   _string02Y-16 bytes
86 milliseconds, C_stricmp -_string02X EQUAL   _string02Y-16 bytes
89 milliseconds, B_stricmp -_string03X GREATER _string03Y-16 bytes
92 milliseconds, C_stricmp -_string03X GREATER _string03Y-16 bytes
142 milliseconds, A_stricmp -_string03X GREATER _string03Y-16 bytes
149 milliseconds, A_stricmp -_string02X EQUAL   _string02Y-16 bytes
152 milliseconds, A_stricmp -_string01X LESS    _string01Y-16 bytes
********** END 2 **********

dedndave

i just realized - you and i have the same processor  :P

RuiLoureiro

 Dave,
              i posted another

dedndave

my processor runs at 3.0 GHz
otherwise, my results will be the same as yours   :biggrin:

RuiLoureiro

#24
 :biggrin:
Hi
    This is the latest
    Could you run it ?
    Thank you !  :t

note: any explanation about it costs $250 per hour (very cheap!) :bgrin:

string lowercase= !#$%&/().=<>;:@  a bcd efg hij klm nopqrstuvxyz [\]^_{|}~
string uppercase - string01Z= !#$%&/().=<>;:@  A BCD EFG HIJ KLM NOPQRSTUVXYZ [\]^_{|}~
********* PRESS A KEY ... *********
string uppercase - string01Z =A BCD EFG HIJ KLM NOP
string uppercase - string01W=AB CDEFG HIJK LMN OPA

NOTE: 16 bytes are EQUAL, the last NOT (lowercase),
           they compare  in uppercase.

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

176 milliseconds, StringCmpC, string01X, string01Y
173 milliseconds, StringCmpC, string02X, string02Y
101 milliseconds, StringCmpC, string03X, string03Y
93 milliseconds, StringCmpD, string01X, string01Y
116 milliseconds, StringCmpD, string02X, string02Y
85 milliseconds, StringCmpD, string03X, string03Y
76 milliseconds, StringCmpE, string01X, string01Y
90 milliseconds, StringCmpE, string02X, string02Y
57 milliseconds, StringCmpE, string03X, string03Y
81 milliseconds, StringCmpF, string01X, string01Y
82 milliseconds, StringCmpF, string02X, string02Y
62 milliseconds, StringCmpF, string03X, string03Y
89 milliseconds, StringCmpDT, string01X, string01Y
100 milliseconds, StringCmpDT, string02X, string02Y
85 milliseconds, StringCmpDT, string03X, string03Y
77 milliseconds, StringCmpET, string01X, string01Y
96 milliseconds, StringCmpET, string02X, string02Y
54 milliseconds, StringCmpET, string03X, string03Y
92 milliseconds, StringCmpFT, string01X, string01Y
116 milliseconds, StringCmpFT, string02X, string02Y
144 milliseconds, StringCmpFT, string03X, string03Y
116 milliseconds, StringCmpEB, string01X, string01Y
100 milliseconds, StringCmpEB, string02X, string02Y
80 milliseconds, StringCmpEB, string03X, string03Y
82 milliseconds, StringCmpGA, string01X, string01Y
103 milliseconds, StringCmpGA, string02X, string02Y
58 milliseconds, StringCmpGA, string03X, string03Y
71 milliseconds, StringCmpGB, string01X, string01Y
88 milliseconds, StringCmpGB, string02X, string02Y
77 milliseconds, StringCmpGB, string03X, string03Y
70 milliseconds, StringCmpGC, string01X, string01Y
86 milliseconds, StringCmpGC, string02X, string02Y
67 milliseconds, StringCmpGC, string03X, string03Y
*** Press any key to get the time table ***


Quote
-----------------------------------------------------
Intel(R) Pentium(R) 4 CPU 3.40GHz (SSE3)
-----------------------------------------------------
***** Time table *****

54 milliseconds, StringCmpET -string03X GREATER string03Y-16 bytes
57 milliseconds, StringCmpE -string03X GREATER string03Y-16 bytes
58 milliseconds, StringCmpGA -string03X GREATER string03Y-16 bytes
62 milliseconds, StringCmpF -string03X GREATER string03Y-16 bytes
67 milliseconds, StringCmpGC -string03X GREATER string03Y-16 bytes
70 milliseconds, StringCmpGC -string01X LESS    string01Y-16 bytes
71 milliseconds, StringCmpGB -string01X LESS    string01Y-16 bytes
76 milliseconds, StringCmpE -string01X LESS    string01Y-16 bytes
77 milliseconds, StringCmpET -string01X LESS    string01Y-16 bytes
77 milliseconds, StringCmpGB -string03X GREATER string03Y-16 bytes
80 milliseconds, StringCmpEB -string03X GREATER string03Y-16 bytes
81 milliseconds, StringCmpF -string01X LESS    string01Y-16 bytes
82 milliseconds, StringCmpF -string02X EQUAL   string02Y-16 bytes
82 milliseconds, StringCmpGA -string01X LESS    string01Y-16 bytes
85 milliseconds, StringCmpDT -string03X GREATER string03Y-16 bytes
85 milliseconds, StringCmpD -string03X GREATER string03Y-16 bytes
86 milliseconds, StringCmpGC -string02X EQUAL   string02Y-16 bytes
88 milliseconds, StringCmpGB -string02X EQUAL   string02Y-16 bytes
89 milliseconds, StringCmpDT -string01X LESS    string01Y-16 bytes
90 milliseconds, StringCmpE -string02X EQUAL   string02Y-16 bytes
92 milliseconds, StringCmpFT -string01X LESS    string01Y-16 bytes
93 milliseconds, StringCmpD -string01X LESS    string01Y-16 bytes
96 milliseconds, StringCmpET -string02X EQUAL   string02Y-16 bytes
100 milliseconds, StringCmpDT -string02X EQUAL   string02Y-16 bytes
100 milliseconds, StringCmpEB -string02X EQUAL   string02Y-16 bytes
101 milliseconds, StringCmpC -string03X GREATER string03Y-16 bytes
103 milliseconds, StringCmpGA -string02X EQUAL   string02Y-16 bytes
116 milliseconds, StringCmpD -string02X EQUAL   string02Y-16 bytes
116 milliseconds, StringCmpEB -string01X LESS    string01Y-16 bytes
116 milliseconds, StringCmpFT -string02X EQUAL   string02Y-16 bytes
144 milliseconds, StringCmpFT -string03X GREATER string03Y-16 bytes
173 milliseconds, StringCmpC -string02X EQUAL   string02Y-16 bytes
176 milliseconds, StringCmpC -string01X LESS    string01Y-16 bytes
********** END 2 **********

Gunther

Hi Rui,


string lowercase= !#$%&/().=<>;:@  a bcd efg hij klm nopqrstuvxyz [\]^_{|}~
string uppercase - string01Z= !#$%&/().=<>;:@  A BCD EFG HIJ KLM NOPQRSTUVXYZ [
\]^_{|}~
********* PRESS A KEY ... *********
string uppercase - string01Z=A BCD EFG HIJ KLM NOP
string uppercase - string01W=AB CDEFG HIJK LMNOPA

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

33 milliseconds, StringCmpC, string01X, string01Y
20 milliseconds, StringCmpC, string02X, string02Y
21 milliseconds, StringCmpC, string03X, string03Y
19 milliseconds, StringCmpD, string01X, string01Y
21 milliseconds, StringCmpD, string02X, string02Y
20 milliseconds, StringCmpD, string03X, string03Y
19 milliseconds, StringCmpE, string01X, string01Y
19 milliseconds, StringCmpE, string02X, string02Y
20 milliseconds, StringCmpE, string03X, string03Y
20 milliseconds, StringCmpF, string01X, string01Y
20 milliseconds, StringCmpF, string02X, string02Y
21 milliseconds, StringCmpF, string03X, string03Y
19 milliseconds, StringCmpDT, string01X, string01Y
20 milliseconds, StringCmpDT, string02X, string02Y
21 milliseconds, StringCmpDT, string03X, string03Y
19 milliseconds, StringCmpET, string01X, string01Y
20 milliseconds, StringCmpET, string02X, string02Y
21 milliseconds, StringCmpET, string03X, string03Y
20 milliseconds, StringCmpFT, string01X, string01Y
20 milliseconds, StringCmpFT, string02X, string02Y
22 milliseconds, StringCmpFT, string03X, string03Y
21 milliseconds, StringCmpEB, string01X, string01Y
21 milliseconds, StringCmpEB, string02X, string02Y
22 milliseconds, StringCmpEB, string03X, string03Y
19 milliseconds, StringCmpGA, string01X, string01Y
19 milliseconds, StringCmpGA, string02X, string02Y
21 milliseconds, StringCmpGA, string03X, string03Y
19 milliseconds, StringCmpGB, string01X, string01Y
19 milliseconds, StringCmpGB, string02X, string02Y
20 milliseconds, StringCmpGB, string03X, string03Y
19 milliseconds, StringCmpGC, string01X, string01Y
20 milliseconds, StringCmpGC, string02X, string02Y
21 milliseconds, StringCmpGC, string03X, string03Y
*** Press any key to get the time table ***

------------------------------------------
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz (SSE4)
------------------------------------------
***** Time table *****

19 milliseconds, StringCmpGC -string01X LESS    string01Y-16 bytes
19 milliseconds, StringCmpGB -string02X EQUAL   string02Y-16 bytes
19 milliseconds, StringCmpGB -string01X LESS    string01Y-16 bytes
19 milliseconds, StringCmpGA -string02X EQUAL   string02Y-16 bytes
19 milliseconds, StringCmpGA -string01X LESS    string01Y-16 bytes
19 milliseconds, StringCmpET -string01X LESS    string01Y-16 bytes
19 milliseconds, StringCmpDT -string01X LESS    string01Y-16 bytes
19 milliseconds, StringCmpE -string02X EQUAL   string02Y-16 bytes
19 milliseconds, StringCmpE -string01X LESS    string01Y-16 bytes
19 milliseconds, StringCmpD -string01X LESS    string01Y-16 bytes
20 milliseconds, StringCmpGC -string02X EQUAL   string02Y-16 bytes
20 milliseconds, StringCmpDT -string02X EQUAL   string02Y-16 bytes
20 milliseconds, StringCmpGB -string03X GREATER string03Y-16 bytes
20 milliseconds, StringCmpF -string02X EQUAL   string02Y-16 bytes
20 milliseconds, StringCmpF -string01X LESS    string01Y-16 bytes
20 milliseconds, StringCmpE -string03X GREATER string03Y-16 bytes
20 milliseconds, StringCmpFT -string02X EQUAL   string02Y-16 bytes
20 milliseconds, StringCmpFT -string01X LESS    string01Y-16 bytes
20 milliseconds, StringCmpD -string03X GREATER string03Y-16 bytes
20 milliseconds, StringCmpET -string02X EQUAL   string02Y-16 bytes
20 milliseconds, StringCmpC -string02X EQUAL   string02Y-16 bytes
21 milliseconds, StringCmpEB -string02X EQUAL   string02Y-16 bytes
21 milliseconds, StringCmpEB -string01X LESS    string01Y-16 bytes
21 milliseconds, StringCmpDT -string03X GREATER string03Y-16 bytes
21 milliseconds, StringCmpGC -string03X GREATER string03Y-16 bytes
21 milliseconds, StringCmpGA -string03X GREATER string03Y-16 bytes
21 milliseconds, StringCmpD -string02X EQUAL   string02Y-16 bytes
21 milliseconds, StringCmpF -string03X GREATER string03Y-16 bytes
21 milliseconds, StringCmpC -string03X GREATER string03Y-16 bytes
21 milliseconds, StringCmpET -string03X GREATER string03Y-16 bytes
22 milliseconds, StringCmpFT -string03X GREATER string03Y-16 bytes
22 milliseconds, StringCmpEB -string03X GREATER string03Y-16 bytes
33 milliseconds, StringCmpC -string01X LESS    string01Y-16 bytes
********** END 2 **********


Gunther
You have to know the facts before you can distort them.

RuiLoureiro

Hi Gunther,
                   Thanks. Your i7 is powerful !

                   By the way, could you run
                   that CmpString0 in my reply #20
                   if you dont mind, Gunther ?
                   Thanks  :t

Gunther

Hi Rui,

Quote from: RuiLoureiro on June 16, 2014, 06:29:16 AM
                   By the way, could you run
                   that CmpString0 in my reply #20
                   if you dont mind, Gunther ?
                   Thanks  :t

Sure. I'll run it this evening, because I'm now I am now at the University.

Gunther
You have to know the facts before you can distort them.

FORTRANS

Quote from: RuiLoureiro on June 16, 2014, 03:06:17 AM
Hi
    This is the latest
    Could you run it ?
    Thank you !

Hi,

   Two results for you.

Regards,

Steve

string lowercase= !#$%&/().=<>;:@  a bcd efg hij klm nopqrstuvxyz [\]^_{|}~
string uppercase - string01Z= !#$%&/().=<>;:@  A BCD EFG HIJ KLM NOPQRSTUVXYZ [\]^_{|}~
********* PRESS A KEY ... *********
string uppercase - string01Z=A BCD EFG HIJ KLM NOP
string uppercase - string01W=AB CDEFG HIJK LMNOPA

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

384 milliseconds, StringCmpC, string01X, string01Y
373 milliseconds, StringCmpC, string02X, string02Y
424 milliseconds, StringCmpC, string03X, string03Y
348 milliseconds, StringCmpD, string01X, string01Y
352 milliseconds, StringCmpD, string02X, string02Y
390 milliseconds, StringCmpD, string03X, string03Y
355 milliseconds, StringCmpE, string01X, string01Y
363 milliseconds, StringCmpE, string02X, string02Y
384 milliseconds, StringCmpE, string03X, string03Y
390 milliseconds, StringCmpF, string01X, string01Y
357 milliseconds, StringCmpF, string02X, string02Y
383 milliseconds, StringCmpF, string03X, string03Y
295 milliseconds, StringCmpDT, string01X, string01Y
346 milliseconds, StringCmpDT, string02X, string02Y
398 milliseconds, StringCmpDT, string03X, string03Y
358 milliseconds, StringCmpET, string01X, string01Y
363 milliseconds, StringCmpET, string02X, string02Y
382 milliseconds, StringCmpET, string03X, string03Y
345 milliseconds, StringCmpFT, string01X, string01Y
345 milliseconds, StringCmpFT, string02X, string02Y
379 milliseconds, StringCmpFT, string03X, string03Y
348 milliseconds, StringCmpEB, string01X, string01Y
351 milliseconds, StringCmpEB, string02X, string02Y
389 milliseconds, StringCmpEB, string03X, string03Y
317 milliseconds, StringCmpGA, string01X, string01Y
377 milliseconds, StringCmpGA, string02X, string02Y
407 milliseconds, StringCmpGA, string03X, string03Y
310 milliseconds, StringCmpGB, string01X, string01Y
363 milliseconds, StringCmpGB, string02X, string02Y
424 milliseconds, StringCmpGB, string03X, string03Y
347 milliseconds, StringCmpGC, string01X, string01Y
355 milliseconds, StringCmpGC, string02X, string02Y
399 milliseconds, StringCmpGC, string03X, string03Y
*** Press any key to get the time table ***

------------------------------------------
 (SSE1)
------------------------------------------
***** Time table *****

295 milliseconds, StringCmpDT -string01X LESS    string01Y-16 bytes
310 milliseconds, StringCmpGB -string01X LESS    string01Y-16 bytes
317 milliseconds, StringCmpGA -string01X LESS    string01Y-16 bytes
345 milliseconds, StringCmpFT -string01X LESS    string01Y-16 bytes
345 milliseconds, StringCmpFT -string02X EQUAL   string02Y-16 bytes
346 milliseconds, StringCmpDT -string02X EQUAL   string02Y-16 bytes
347 milliseconds, StringCmpGC -string01X LESS    string01Y-16 bytes
348 milliseconds, StringCmpEB -string01X LESS    string01Y-16 bytes
348 milliseconds, StringCmpD -string01X LESS    string01Y-16 bytes
351 milliseconds, StringCmpEB -string02X EQUAL   string02Y-16 bytes
352 milliseconds, StringCmpD -string02X EQUAL   string02Y-16 bytes
355 milliseconds, StringCmpGC -string02X EQUAL   string02Y-16 bytes
355 milliseconds, StringCmpE -string01X LESS    string01Y-16 bytes
357 milliseconds, StringCmpF -string02X EQUAL   string02Y-16 bytes
358 milliseconds, StringCmpET -string01X LESS    string01Y-16 bytes
363 milliseconds, StringCmpGB -string02X EQUAL   string02Y-16 bytes
363 milliseconds, StringCmpET -string02X EQUAL   string02Y-16 bytes
363 milliseconds, StringCmpE -string02X EQUAL   string02Y-16 bytes
373 milliseconds, StringCmpC -string02X EQUAL   string02Y-16 bytes
377 milliseconds, StringCmpGA -string02X EQUAL   string02Y-16 bytes
379 milliseconds, StringCmpFT -string03X GREATER string03Y-16 bytes
382 milliseconds, StringCmpET -string03X GREATER string03Y-16 bytes
383 milliseconds, StringCmpF -string03X GREATER string03Y-16 bytes
384 milliseconds, StringCmpE -string03X GREATER string03Y-16 bytes
384 milliseconds, StringCmpC -string01X LESS    string01Y-16 bytes
389 milliseconds, StringCmpEB -string03X GREATER string03Y-16 bytes
390 milliseconds, StringCmpF -string01X LESS    string01Y-16 bytes
390 milliseconds, StringCmpD -string03X GREATER string03Y-16 bytes
398 milliseconds, StringCmpDT -string03X GREATER string03Y-16 bytes
399 milliseconds, StringCmpGC -string03X GREATER string03Y-16 bytes
407 milliseconds, StringCmpGA -string03X GREATER string03Y-16 bytes
424 milliseconds, StringCmpGB -string03X GREATER string03Y-16 bytes
424 milliseconds, StringCmpC -string03X GREATER string03Y-16 bytes
********** END 2 **********



string lowercase= !#$%&/().=<>;:@  a bcd efg hij klm nopqrstuvxyz [\]^_{|}~
string uppercase - string01Z= !#$%&/().=<>;:@  A BCD EFG HIJ KLM NOPQRSTUVXYZ [\]^_{|}~
********* PRESS A KEY ... *********
string uppercase - string01Z=A BCD EFG HIJ KLM NOP
string uppercase - string01W=AB CDEFG HIJK LMNOPA

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

X is less than Y
X is EQUAL Y
X is greater than Y

242 milliseconds, StringCmpC, string01X, string01Y
86 milliseconds, StringCmpC, string02X, string02Y
92 milliseconds, StringCmpC, string03X, string03Y
103 milliseconds, StringCmpD, string01X, string01Y
94 milliseconds, StringCmpD, string02X, string02Y
106 milliseconds, StringCmpD, string03X, string03Y
147 milliseconds, StringCmpE, string01X, string01Y
95 milliseconds, StringCmpE, string02X, string02Y
111 milliseconds, StringCmpE, string03X, string03Y
103 milliseconds, StringCmpF, string01X, string01Y
152 milliseconds, StringCmpF, string02X, string02Y
118 milliseconds, StringCmpF, string03X, string03Y
100 milliseconds, StringCmpDT, string01X, string01Y
101 milliseconds, StringCmpDT, string02X, string02Y
103 milliseconds, StringCmpDT, string03X, string03Y
131 milliseconds, StringCmpET, string01X, string01Y
148 milliseconds, StringCmpET, string02X, string02Y
109 milliseconds, StringCmpET, string03X, string03Y
101 milliseconds, StringCmpFT, string01X, string01Y
96 milliseconds, StringCmpFT, string02X, string02Y
108 milliseconds, StringCmpFT, string03X, string03Y
103 milliseconds, StringCmpEB, string01X, string01Y
131 milliseconds, StringCmpEB, string02X, string02Y
115 milliseconds, StringCmpEB, string03X, string03Y
92 milliseconds, StringCmpGA, string01X, string01Y
73 milliseconds, StringCmpGA, string02X, string02Y
77 milliseconds, StringCmpGA, string03X, string03Y
88 milliseconds, StringCmpGB, string01X, string01Y
88 milliseconds, StringCmpGB, string02X, string02Y
129 milliseconds, StringCmpGB, string03X, string03Y
101 milliseconds, StringCmpGC, string01X, string01Y
104 milliseconds, StringCmpGC, string02X, string02Y
117 milliseconds, StringCmpGC, string03X, string03Y
*** Press any key to get the time table ***

------------------------------------------
Intel(R) Pentium(R) M processor 1.70GHz (SSE2)
------------------------------------------
***** Time table *****

73 milliseconds, StringCmpGA -string02X EQUAL   string02Y-16 bytes
77 milliseconds, StringCmpGA -string03X GREATER string03Y-16 bytes
86 milliseconds, StringCmpC -string02X EQUAL   string02Y-16 bytes
88 milliseconds, StringCmpGB -string01X LESS    string01Y-16 bytes
88 milliseconds, StringCmpGB -string02X EQUAL   string02Y-16 bytes
92 milliseconds, StringCmpC -string03X GREATER string03Y-16 bytes
92 milliseconds, StringCmpGA -string01X LESS    string01Y-16 bytes
94 milliseconds, StringCmpD -string02X EQUAL   string02Y-16 bytes
95 milliseconds, StringCmpE -string02X EQUAL   string02Y-16 bytes
96 milliseconds, StringCmpFT -string02X EQUAL   string02Y-16 bytes
100 milliseconds, StringCmpDT -string01X LESS    string01Y-16 bytes
101 milliseconds, StringCmpDT -string02X EQUAL   string02Y-16 bytes
101 milliseconds, StringCmpGC -string01X LESS    string01Y-16 bytes
101 milliseconds, StringCmpFT -string01X LESS    string01Y-16 bytes
103 milliseconds, StringCmpDT -string03X GREATER string03Y-16 bytes
103 milliseconds, StringCmpD -string01X LESS    string01Y-16 bytes
103 milliseconds, StringCmpF -string01X LESS    string01Y-16 bytes
103 milliseconds, StringCmpEB -string01X LESS    string01Y-16 bytes
104 milliseconds, StringCmpGC -string02X EQUAL   string02Y-16 bytes
106 milliseconds, StringCmpD -string03X GREATER string03Y-16 bytes
108 milliseconds, StringCmpFT -string03X GREATER string03Y-16 bytes
109 milliseconds, StringCmpET -string03X GREATER string03Y-16 bytes
111 milliseconds, StringCmpE -string03X GREATER string03Y-16 bytes
115 milliseconds, StringCmpEB -string03X GREATER string03Y-16 bytes
117 milliseconds, StringCmpGC -string03X GREATER string03Y-16 bytes
118 milliseconds, StringCmpF -string03X GREATER string03Y-16 bytes
129 milliseconds, StringCmpGB -string03X GREATER string03Y-16 bytes
131 milliseconds, StringCmpEB -string02X EQUAL   string02Y-16 bytes
131 milliseconds, StringCmpET -string01X LESS    string01Y-16 bytes
147 milliseconds, StringCmpE -string01X LESS    string01Y-16 bytes
148 milliseconds, StringCmpET -string02X EQUAL   string02Y-16 bytes
152 milliseconds, StringCmpF -string02X EQUAL   string02Y-16 bytes
242 milliseconds, StringCmpC -string01X LESS    string01Y-16 bytes
********** END 2 **********

Gunther

Hi Rui,

the results from CmpString1 (post #20):

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

X is less than Y
ShowResultXY
X is EQUAL Y
ShowResultXY
X is greater than Y
ShowResultXY

70 milliseconds, CompareStringXYS, _string01X, _string01Y
44 milliseconds, CompareStringXYS, _string02X, _string02Y
47 milliseconds, CompareStringXYS, _string03X, _string03Y
28 milliseconds, CompareStringXYT, _string01X, _string01Y
29 milliseconds, CompareStringXYT, _string02X, _string02Y
28 milliseconds, CompareStringXYT, _string03X, _string03Y
51 milliseconds, CompareStringXYBS, _string01X, _string01Y
50 milliseconds, CompareStringXYBS, _string02X, _string02Y
53 milliseconds, CompareStringXYBS, _string03X, _string03Y
20 milliseconds, StringCmpC, _string01X, _string01Y
20 milliseconds, StringCmpC, _string02X, _string02Y
22 milliseconds, StringCmpC, _string03X, _string03Y
27 milliseconds, StringCmpD, _string01X, _string01Y
27 milliseconds, StringCmpD, _string02X, _string02Y
28 milliseconds, StringCmpD, _string03X, _string03Y
27 milliseconds, StringCmpE, _string01X, _string01Y
27 milliseconds, StringCmpE, _string02X, _string02Y
28 milliseconds, StringCmpE, _string03X, _string03Y
19 milliseconds, StringCmpF, _string01X, _string01Y
19 milliseconds, StringCmpF, _string02X, _string02Y
21 milliseconds, StringCmpF, _string03X, _string03Y
*** Press any key to get the time table ***

------------------------------------------
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz (SSE4)
------------------------------------------
***** Time table *****

19 milliseconds, StringCmpF -_string02X EQUAL _string02Y-16 bytes
19 milliseconds, StringCmpF -_string01X LESS _string01Y-16 bytes
20 milliseconds, StringCmpC -_string02X EQUAL _string02Y-16 bytes
20 milliseconds, StringCmpC -_string01X LESS _string01Y-16 bytes
21 milliseconds, StringCmpF -_string03X GREATER _string03Y-16 bytes
22 milliseconds, StringCmpC -_string03X GREATER _string03Y-16 bytes
27 milliseconds, StringCmpD -_string01X LESS _string01Y-16 bytes
27 milliseconds, StringCmpE -_string02X EQUAL _string02Y-16 bytes
27 milliseconds, StringCmpE -_string01X LESS _string01Y-16 bytes
27 milliseconds, StringCmpD -_string02X EQUAL _string02Y-16 bytes
28 milliseconds, StringCmpD -_string03X GREATER _string03Y-16 bytes
28 milliseconds, StringCmpE -_string03X GREATER _string03Y-16 bytes
28 milliseconds, CompareStringXYT -_string03X GREATER _string03Y-16 bytes
28 milliseconds, CompareStringXYT -_string01X LESS _string01Y-16 bytes
29 milliseconds, CompareStringXYT -_string02X EQUAL _string02Y-16 bytes
44 milliseconds, CompareStringXYS -_string02X EQUAL _string02Y-16 bytes
47 milliseconds, CompareStringXYS -_string03X GREATER _string03Y-16 bytes
50 milliseconds, CompareStringXYBS -_string02X EQUAL _string02Y-16 bytes
51 milliseconds, CompareStringXYBS -_string01X LESS _string01Y-16 bytes
53 milliseconds, CompareStringXYBS -_string03X GREATER _string03Y-16 bytes
70 milliseconds, CompareStringXYS -_string01X LESS _string01Y-16 bytes
********** END 2 **********


Gunther
You have to know the facts before you can distort them.