Board index » delphi » Fastcode PosIEx Challenge as Blind

Fastcode PosIEx Challenge as Blind


2005-06-05 06:29:07 PM
delphi259
Hi All
To use some of the ideas from the blind challenge thread I suggest that we
run PosIEx as a blind challenge.
The B&V is nearly ready. The challenge has not started - only one of John's
functions included.
I would like also to make another (tougher) blind challenge, but it will
have to wait a little.
What do you think?
Best regards
Dennis
 
 

Re:Fastcode PosIEx Challenge as Blind

Quote
To use some of the ideas from the blind challenge thread I suggest
that we run PosIEx as a blind challenge.

The B&V is nearly ready. The challenge has not started - only one of
John's functions included.

I would like also to make another (tougher) blind challenge, but it
will have to wait a little.

What do you think?
- ISTM blind challenges are more suitable for the bigger challenges
(comparable to the MM). With simpler challenges there's a serious
possibility that people think of the same approach independently.
With
a blind challenge they wouldn't even notice this.
- I think Format would be tougher, and sort of useful as well. I don't
know however if it is thinkable that Format is used in perfomance-
critical situations. I mostly use it for UI strings and for logging.
 

Re:Fastcode PosIEx Challenge as Blind

Hi Avatar
Quote
- ISTM blind challenges are more suitable for the bigger challenges
(comparable to the MM). With simpler challenges there's a serious
possibility that people think of the same approach independently.
I see no problem in this. I agree that PosIEx is a little to simple, but I
am sure that the Delphi community would love to have it ;-) There is a QC
report asking for it. I think we could have quite so fun with it and it is
going to be made anyway.
Quote
With a blind challenge they wouldn't even notice this.

- I think Format would be tougher, and sort of useful as well. I don't
know however if it is thinkable that Format is used in perfomance-
critical situations. I mostly use it for UI strings and for logging.
I think that TStringList.Sort would make a very interesting blind challenge.
It would be very nice if somebody volunteered making a B&V based on the new
Template B&V by you.
Regards
Dennis
 

Re:Fastcode PosIEx Challenge as Blind

Quote
>- ISTM blind challenges are more suitable for the bigger challenges
>(comparable to the MM). With simpler challenges there's a serious
>possibility that people think of the same approach independently.

I see no problem in this. I agree that PosIEx is a little to simple,
but I am sure that the Delphi community would love to have it ;-)
There is a QC report asking for it. I think we could have quite so
fun with it and it is going to be made anyway.
I wasn't suggesting that PosIEx would be useless, just that making this
challenge blind wouldn't have many advantages.
Quote
>With a blind challenge they wouldn't even notice this.
>
>- I think Format would be tougher, and sort of useful as well. I
>don't know however if it is thinkable that Format is used in
>perfomance- critical situations. I mostly use it for UI strings
>and for logging.

I think that TStringList.Sort would make a very interesting blind
challenge.
Yes, that one would too.
Do you think these functions should be defined on TList descendant
classes? Or should they be passed a TList as a parameter? Or should
they get a pointer to an array of pointers? Or perhaps we should have
our own TList implementation?
Hmmm.... perhaps that should be a vote.
Quote
It would be very nice if somebody volunteered making a B&V based on
the new Template B&V by you.
If and when i can find the time I will give it a try. For you, how long
does producing the first version of a B&V usually take?
 

Re:Fastcode PosIEx Challenge as Blind

Quote
Do you think these functions should be defined on TList descendant
classes? Or should they be passed a TList as a parameter? Or should
they get a pointer to an array of pointers? Or perhaps we should have
our own TList implementation?

Hmmm.... perhaps that should be a vote.
Having taken a look at TList i suggest something like this:
interface
type
TFastList = class(TList)
public
procedure FastSort(Compare: TListSortCompare);
end;
implementation
procedure FastSortInternal(List: PPointerList; Count: Integer;
Compare: TListSortCompare);
begin
// implementation of sort
end;
procedure TFastList.FastSort(Compare: TListSortCompare);
begin
FastSortInternal(List, Count, Compare);
end;
This circumvents the problem that AFAIK properties (List and Count)
cannot be read from BASM.
 

Re:Fastcode PosIEx Challenge as Blind

I would suggest some TStringList aspects, been mentionned for ages but
nothing started AFAIK, something like Get/SetValue for the Values[]
property.
Main issue with TStrings/TStringList is they may not be straighforward
to enhance (GetValue f.i. is a private method of TStrings which uses
the virtually overriden Get protected method from TStringList f.i.).
Same goes for Sort, Text or CommaText, which could also be nice candidates.
In a similar vein of enhancing RTL classes (and not just isolated
functions), a blind challenge on TStringStream could be interesting too.
Eric