Board index » delphi » Re: Fastcode UpperCase B&V 2.8

Re: Fastcode UpperCase B&V 2.8


2005-05-31 03:25:30 PM
delphi266
Hi
Quote
The same functions on the same processors
must have the same speed.
Isn't it?

Functions v4 & v5 have the same main loop.
And you have benchmark results with version 1,2,3 versus 4 on all the above
mentioned processors?
My real point is that you have no reason at all to insist the way you did
because it hurts nobody that the older versions were released once more
before being removed. We have now had a lot of fuss about nothing.
Regards
Dennis
 
 

Re: Fastcode UpperCase B&V 2.8

Hi Aleksandr
Quote
Now I have P4 and K6-2+(MMX, no SSE, no SSE2).
I have no problem on both processors.
I am not sure that it exists. But I think it may be.
And you made runs on both processors that confirmed that the problem was as
described, but did not bother to tell me about it? Did you just want to send
me rerunning benchmarks and working on a B&V for a closed challenge for a
few extra days, while it was much more important to work on the MM B&V?
Quote
As we pointed any break of execution path and any
work with visual controls does not make precision better.
But I guess that my 1 year old investigations showed that GUI activity was
not a problem in my benchmark method which is the one we use.
Quote
So we must to test this case or sort functions by type.
If there is a problem (but you saw none), if this problem is GUI related and
if we use your benchmark method. 3 conditions that must be true but all are
false. So you ask me to do some work based on false assumptions.
Regards
Dennis
 

Re: Fastcode UpperCase B&V 2.8

Hi Aleksandr
Quote
>Why are you so eager to have them removed?

I don't like them because they are not optimal on IA32.

Because I know how to make main loop one instructon less
and how to make dependency chain one microoperation less.
Would it hurt you severely if version 1,2,3 where not removed until we have
accepted version 5 and benchmarked it on all targets and found it superior
on all targets?
Regards
Dennis
 

Re: Fastcode UpperCase B&V 2.8

Hi Dennis,
Quote
>In functions v5 I use simple trick.
>1) First of all they allocate enough memory for fast core
>of algorithm v4.
>2) Then they change Result length to correct value without
>any reallocation by MM.

And the functions overallocate memory for the result string?
Functions v5 may round size up to full dword.
Because NewAnsiString always rounds size up
to full word, really them need one word more in
1/4 of all cases (when Length mod 4 = 1).
 

Re: Fastcode UpperCase B&V 2.8

Hi Aleksandr
Quote
Because NewAnsiString always rounds size up
to full word, really them need one word more in
1/4 of all cases (when Length mod 4 = 1).
This is a very little waste of memory. What is the increase in speed of
version 5 functions over version 1-3 functions?
If this is all then I suggest that we allow it for UpperCase and LowerCase
if we can think of no possible sideeffects.
The general rules discussion can be posponed.
Regards
Dennis
 

Re: Fastcode UpperCase B&V 2.8

Hi Dennis,
Quote
So you ask me to do some work based on false assumptions.
No.
I point you one more possible problem.
You may ignore it.
 

Re: Fastcode UpperCase B&V 2.8

Hi Dennis,
Quote
>>Why are you so eager to have them removed?
>
>I don't like them because they are not optimal on IA32.
>
>Because I know how to make main loop one instructon less
>and how to make dependency chain one microoperation less.

Would it hurt you severely if version 1,2,3 where not removed until we
have
accepted version 5 and benchmarked it on all targets and found it
superior
on all targets?
Remove them or rename them ;-)
 

Re: Fastcode UpperCase B&V 2.8

Hi Dennis,
Quote
What is the increase in speed of
version 5 functions over version 1-3 functions?
There is new main loop.
 

Re: Fastcode UpperCase B&V 2.8

Hi
Quote
>So you ask me to do some work based on false assumptions.

No.
I point you one more possible problem.
You may ignore it.
That was impossible to understand from your initial post.
Regards
Dennis
 

Re: Fastcode UpperCase B&V 2.8

Hi Aleksandr
Quote
Remove them or rename them ;-)
What is the point of renaming them?
What should I rename them to?
Regards
Dennis
 

Re: Fastcode UpperCase B&V 2.8

Quote
Simply place my functions before the first
MMX, SSE, SSE2 function.
All our target CPU's support MMX & SSE. Why is it necessary to place your
functions before MMX and SSE functions?
Regards
Dennis
 

Re: Fastcode UpperCase B&V 2.8

Hi
Quote
>What is the increase in speed of
>version 5 functions over version 1-3 functions?

There is new main loop.
Could you try reread my post and answer it properly?
Regards
Dennis
 

Re: Fastcode UpperCase B&V 2.8

Hi Aleksandr
Quote
May be MM state changed after Validate6 and Validate7.
This is quite possible. I try retest with BucketMem_ASM.
Quote
>I have tested on Opteron 240.
>
>Which processor do you use?

P4.
Then no function could raise exceptions and your claim that your functions
were slowed down by running after a function that raised an exception was
taken out of the blue.
Regards
Dennis
 

Re: Fastcode UpperCase B&V 2.8

Hi Dennis,
Quote
>May be MM state changed after Validate6 and Validate7.

This is quite possible. I try retest with BucketMem_ASM.

>>I have tested on Opteron 240.
>>
>>Which processor do you use?
>
>P4.

Then no function could raise exceptions and your claim that your functions
were slowed down by running after a function that raised an exception was
taken out of the blue.
No, I ***NEVER*** say that.
You have omitted my prevous phrase:
Quote
>>>4) I have found out that after validation
>>>my functions speed 15% down.
Please read with attention.
 

Re: Fastcode UpperCase B&V 2.8

Hi Dennis,
Quote
That was impossible to understand from your initial post.
We can discuss anything while misunderstanding exists.