BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Fastcode Trim B&V 0.6.1

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Language BASM
View previous topic :: View next topic  
Author Message
Dennis
Guest





PostPosted: Sun Apr 01, 2007 7:37 pm    Post subject: Fastcode Trim B&V 0.6.1 Reply with quote



Hi

I am working on benchmark stability again.

Will somebody volunteer to make the function size file?

Best regards
Dennis Kjaer Christensen
Back to top
John O'Harrow
Guest





PostPosted: Thu Apr 05, 2007 9:32 pm    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote



Hi Dennis,

Was a decision ever reached on whether a Trim function should just increment
the RefCount when no trimming is needed, or whether returning a separate
copy of the string (as the RTL function does) is acceptable.

I personally believe that functions should just increment the RefCount
(after all, that's why the RefCount is there).

regards,
John

"Dennis" <marianndkc (AT) home3 (DOT) gvdnet.dk> wrote in message
news:460fc3cc (AT) newsgroups (DOT) borland.com...
Quote:
Hi

I am working on benchmark stability again.

Will somebody volunteer to make the function size file?

Best regards
Dennis Kjaer Christensen

Back to top
Dennis
Guest





PostPosted: Fri Apr 06, 2007 12:40 am    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote



Hi John

Quote:
Was a decision ever reached on whether a Trim function should just
increment


Not really.

Quote:
the RefCount when no trimming is needed, or whether returning a separate
copy of the string (as the RTL function does) is acceptable.

I personally believe that functions should just increment the RefCount
(after all, that's why the RefCount is there).

I agree.

I do not think that there is anything to discuss. We simply follow the
standard AnsiString refcount conventions.

We can however take a poll if somebody insists.

Best regards
Dennis Kjaer Christensen
Back to top
Dennis
Guest





PostPosted: Fri Apr 06, 2007 8:12 am    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote

Hi

The standard way of improving accuracy is to add reruns and/or increase the
nunber of runs. I increased the number of reruns to 6 from 3 and got
Trim_DKC_Pas_3_c = 0,9%

Trim_DKC_Pas_3_a 0 518 560 1078

Trim_DKC_Pas_3_b 8 516 558 1074

Trim_DKC_Pas_3_c 4 518 557 1075

Trim_DKC_Pas_3_a 0 522 558 1080

Trim_DKC_Pas_3_b 8 510 556 1066

Trim_DKC_Pas_3_c 4 521 556 1077

Trim_DKC_Pas_3_a 0 518 557 1075

Trim_DKC_Pas_3_b 8 516 556 1072

Trim_DKC_Pas_3_c 4 528 557 1085

Keeping Trim_DKC_Pas_3_a results we do not see any pattern

Trim_DKC_Pas_3_a 0 518 560 1078

Trim_DKC_Pas_3_a 0 522 558 1080

Trim_DKC_Pas_3_a 0 518 557 1075


Best regards
Dennis Kjaer Christensen
Back to top
Dennis
Guest





PostPosted: Fri Apr 06, 2007 8:12 am    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote

Hi

One more run under the same conditions Trim_DKC_Pas_3_b = 1.9 %

Trim_DKC_Pas_3_a 0 519 560 1079

Trim_DKC_Pas_3_b 8 512 558 1070

Trim_DKC_Pas_3_c 4 519 558 1077

Trim_DKC_Pas_3_a 0 518 559 1077

Trim_DKC_Pas_3_b 8 521 557 1078

Trim_DKC_Pas_3_c 4 519 556 1075

Trim_DKC_Pas_3_a 0 519 557 1076

Trim_DKC_Pas_3_b 8 534 556 1090

Trim_DKC_Pas_3_c 4 518 556 1074


Keping Trim_DKC_Pas_3_b results

Trim_DKC_Pas_3_b 8 512 558 1070

Trim_DKC_Pas_3_b 8 521 557 1078

Trim_DKC_Pas_3_b 8 534 556 1090

We see a stable subbench2 but three differenet results for subbench1

Best regards
Dennis Kjaer Christensen
Back to top
Dennis
Guest





PostPosted: Fri Apr 06, 2007 8:12 am    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote

Hi

Is "string" the correct parameter and return type for Trim?

function Trim(const S: string): string;
var
I, L: Integer;
begin
L := Length(S);
I := 1;
while (I <= L) and (S[I] <= ' ') do Inc(I);
if I > L then Result := '' else
begin
while S[L] <= ' ' do Dec(L);
Result := Copy(S, I, L - I + 1);
end;
end;

If String = ShortString what happens then?
If String = AnsiString what happens then?
If String = WideString what happens then?

Best regards
Dennis Kjaer Christensen
Back to top
Dennis
Guest





PostPosted: Fri Apr 06, 2007 8:12 am    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote

Hi

I am doing many experiments with regard to benchmark stability.

These results show that the benchmark can be stable except for the first run

Dothan
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 4,0 #Functions: 69
AvgBenchRuntimePerFunction: 2
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,5 #Functions: 69
AvgBenchRuntimePerFunction: 2
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 2
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 2
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 2
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 2
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,3 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,8 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 5
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 5
MAXNOOFRUNSSUB1: 21000 MAXNOOFRUNSSUB2: 1140 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: -204
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 2
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 2
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 2
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,4 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 5
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 5
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 5
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 6
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 6
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 6
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 7
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 7
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 7
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 8
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 8
MAXNOOFRUNSSUB1: 42000 MAXNOOFRUNSSUB2: 2280 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 8
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,0 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,6 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 6
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 6
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 6
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 7
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,8 #Functions: 69
AvgBenchRuntimePerFunction: 7
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,8 #Functions: 69
AvgBenchRuntimePerFunction: 7
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 9
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 9
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 1,0 #Functions: 69
AvgBenchRuntimePerFunction: 9
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: -198
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 11
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 10
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 12
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,0 #Functions: 69
AvgBenchRuntimePerFunction: 12
MAXNOOFRUNSSUB1: 63000 MAXNOOFRUNSSUB2: 3420 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 12
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 3
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 5
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 5
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 5
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 7
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 7
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 7
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 9
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 9
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 9
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 12
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 12
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,8 #Functions: 69
AvgBenchRuntimePerFunction: 12
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,0 #Functions: 69
AvgBenchRuntimePerFunction: 14
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 14
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,8 #Functions: 69
AvgBenchRuntimePerFunction: -195
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 16
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,8 #Functions: 69
AvgBenchRuntimePerFunction: 16
MAXNOOFRUNSSUB1: 84000 MAXNOOFRUNSSUB2: 4560 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 16
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 1 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,6 #Functions: 69
AvgBenchRuntimePerFunction: 4
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,0 #Functions: 69
AvgBenchRuntimePerFunction: 6
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,8 #Functions: 69
AvgBenchRuntimePerFunction: 6
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 2 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,6 #Functions: 69
AvgBenchRuntimePerFunction: 6
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,8 #Functions: 69
AvgBenchRuntimePerFunction: 9
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 9
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 3 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,6 #Functions: 69
AvgBenchRuntimePerFunction: 9
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,8 #Functions: 69
AvgBenchRuntimePerFunction: 12
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: 12
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 4 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,6 #Functions: 69
AvgBenchRuntimePerFunction: 12
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,0 #Functions: 69
AvgBenchRuntimePerFunction: 14
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 14
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 5 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,7 #Functions: 69
AvgBenchRuntimePerFunction: 14
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 0,9 #Functions: 69
AvgBenchRuntimePerFunction: -192
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 17
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 6 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,8 #Functions: 69
AvgBenchRuntimePerFunction: 17
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_NORMAL Precision: 1,1 #Functions: 69
AvgBenchRuntimePerFunction: 19
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_ABOVE_NORMAL Precision: 1,0 #Functions: 69
AvgBenchRuntimePerFunction: 19
MAXNOOFRUNSSUB1: 105000 MAXNOOFRUNSSUB2: 5700 NOOFRERUNS: 7 Thread priority:
THREAD_PRIORITY_HIGHEST Precision: 0,8 #Functions: 69
AvgBenchRuntimePerFunction: 19

Best regards
Dennis Kjaer Christensen
Back to top
Dennis
Guest





PostPosted: Fri Apr 06, 2007 8:12 am    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote

Hi

I think I have found a pattern on Opteron. This is unsorted results from a
bench test on the first 3 functions only. Trim_DKC_Pas_3_a is the worst
function and precision is 1,8%

Trim_DKC_Pas_3_a 0 524 560 1084

Trim_DKC_Pas_3_b 8 517 558 1075

Trim_DKC_Pas_3_c 4 522 558 1080

Trim_DKC_Pas_3_a 0 543 559 1102

Trim_DKC_Pas_3_b 8 516 556 1072

Trim_DKC_Pas_3_c 4 522 556 1078

Trim_DKC_Pas_3_a 0 546 558 1104

Trim_DKC_Pas_3_b 8 514 557 1071

Trim_DKC_Pas_3_c 4 518 557 1075

Removing results from other functions

Trim_DKC_Pas_3_a 0 524 560 1084

Trim_DKC_Pas_3_a 0 543 559 1102

Trim_DKC_Pas_3_a 0 546 558 1104



We see that the first run has a fast Subbench1 result, while the other
results are much more stable.

Best regards
Dennis Kjaer Christensen
Back to top
Dennis
Guest





PostPosted: Fri Apr 06, 2007 8:12 am    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote

Hi

Average precision versus thread priority

THREAD_PRIORITY_NORMAL 1,1
THREAD_PRIORITY_ABOVE_NORMAL 0,99
THREAD_PRIORITY_HIGHEST 0,83

For this benchmark threadpriority matters a little and
THREAD_PRIORITY_HIGHEST is used

if Sender <> nil then//Thread priority has been set if bench test - do not
reset
if SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_HIGHEST) = False
then
raise Exception.Create('SetThreadPriority to THREAD_PRIORITY_HIGHEST
failed');

Best regards
Dennis Kjaer Christensen
Back to top
Dennis
Guest





PostPosted: Fri Apr 06, 2007 8:12 am    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote

Hi

The next run gave these results: Trim_DKC_Pas_3_b 2,2 %

Trim_DKC_Pas_3_a 0 522 560 1082

Trim_DKC_Pas_3_b 8 516 558 1074

Trim_DKC_Pas_3_c 4 519 559 1078

Trim_DKC_Pas_3_a 0 539 560 1099

Trim_DKC_Pas_3_b 8 516 556 1072

Trim_DKC_Pas_3_c 4 522 557 1079

Trim_DKC_Pas_3_a 0 541 558 1099

Trim_DKC_Pas_3_b 8 540 556 1096

Trim_DKC_Pas_3_c 4 520 556 1076

keeping Trim_DKC_Pas_3_b results

Trim_DKC_Pas_3_b 8 516 558 1074

Trim_DKC_Pas_3_b 8 516 556 1072

Trim_DKC_Pas_3_b 8 540 556 1096

We see that the third run was slow in subbench1

Trim_DKC_Pas_3_a 0 522 560 1082

Trim_DKC_Pas_3_a 0 539 560 1099

Trim_DKC_Pas_3_a 0 541 558 1099

keeping Trim_DKC_Pas_3_a results we can see our pattern. This time we just
had a random error for Trim_DKC_Pas_3_b that was bigger.

Best regards
Dennis Kjaer Christensen
Back to top
Dennis
Guest





PostPosted: Fri Apr 06, 2007 12:58 pm    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote

Hi

Because Subbench1 is the unstable one i tried to double the number of
teststrings and reducing the number of runs to keep the benchmark value
unchanged.

Results of 3 runs are

Trim_DKC_Pas_3_c 2.9%
Trim_DKC_Pas_3_c 1.6%
Trim_DKC_Pas_3_c 3.2%

With the original settings

Trim_DKC_Pas_3_a 2.0%
Trim_DKC_Pas_3_b 0.5%

We keep the original settings.

Best regards
Dennis Kjaer Christensen
Back to top
Dennis
Guest





PostPosted: Fri Apr 06, 2007 1:00 pm    Post subject: Re: Fastcode Trim B&V 0.6.1 Reply with quote

Hi

Some of my functions give a compiler warning due to this compiler bug.

False "Uninitialized Variable" Warning
http://qc.codegear.com/wc/qcmain.aspx?d=43894

Best regards
Dennis Kjaer Christensen
Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Language BASM All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.