 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Dennis Guest
|
Posted: Sun Apr 01, 2007 7:37 pm Post subject: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Thu Apr 05, 2007 9:32 pm Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Fri Apr 06, 2007 12:40 am Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Fri Apr 06, 2007 8:12 am Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Fri Apr 06, 2007 8:12 am Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Fri Apr 06, 2007 8:12 am Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Fri Apr 06, 2007 8:12 am Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Fri Apr 06, 2007 8:12 am Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Fri Apr 06, 2007 8:12 am Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Fri Apr 06, 2007 8:12 am Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Fri Apr 06, 2007 12:58 pm Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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
|
Posted: Fri Apr 06, 2007 1:00 pm Post subject: Re: Fastcode Trim B&V 0.6.1 |
|
|
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 |
|
 |
|
|
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
|
|