[DUG] delphi is fast-very fast
Jolyon Smith
jsmith at deltics.co.nz
Thu Jul 2 21:08:00 NZST 2009
> In Delphi that's true, because Delphi makes it pretty hard
> to write reusable hash structure, so people don't tend to
> write or use them.
I've noticed that people don't tend to write or use a StringBuilder class
(or equivalent) in Delphi either. ;)
We could speculate endlessly as to why other people don't use them in
Delphi. I'll just say that it's not THAT hard to write re-usable hashing
and data structures in Delphi. Of course it's hard_ER_ (because you do have
to do it or find someone who has and is willing to share) but it's not
actually hard. And once done, it's done... you just re-use them from that
point on.
I've done it myself and yet still the times when I find them useful are
very, VERY few and far between.
As far as the benchmark conditions under discussion are concerned, it's
worth nothing that they did not stipulate specifically that *arrays* had to
be used:
"Fill a data structure with 1,000,000 random, unsorted
values from 0-100. The list must be unsorted."
"Run through this data structure 200 times, counting
a) number of records with value = 42
b) average age for all 1000000*200 values"
Notice also that the benchmark conditions specifically exclude the time
taken to initialise and populate the data structure and is concerned only
with the 200 x of looping over the data and collating stats.
That being the case, then I think *any* more advanced structures are always
going to come off worst against an array, surely?
That, and the "unsorted" stipulation, ruling out the use of intrinsically
sorted structures, might explain why only array based solutions have been
submitted up to now.
You might wish to debate the validity of the test conditions but I can't
usefully contribute to that as I was not involved. I can only presume that
they reflect some real-world problem at hand.
But whatever you think of the conditions they could hardly be said to have
been chosen deliberately to favour Delphi if Lars is right when he says they
were set by a C# participant.
Unless that C# participant had some ulterior motive of course. lol
:)
More information about the Delphi
mailing list