In our previous episode, Sergei Gorelkin said:
> > 
> > Average string length 45 characters:
> > ShortString: 12.0 s
> > AnsiString: 3.2 s
> > 
> > I agree that the first case is more relevant for the compiler,
> > but still you can see that ShortStrings are clearly not always faster.
> > 
> I believe it's not ShortStrings per se to blame, but storing them in a large 
> single memory block as 
> it is being done in TFPHashList. Adding a lot of keys will cause many 
> reallocations. Large size of 
> the block forces memory manager to use variable-size pool, which is less 
> efficient than using 
> fixed-size blocks in case of small chunks.

I actually thought that too, and did a benchmark (cclasses')hashlist against an 
own
implementation based on array of array (to reduce that by a magnitude) a few
years back

Mine was slower. 
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to