[fpc-devel] Attn. Generics.Collections and rev. 39345 and speed slowdown
Maciej Izak
hnb.code at gmail.com
Sat Jun 30 06:44:26 CEST 2018
Hi,
renaming for TMormotHashFactory to TGenericsHashFactory is somehow
acceptable (but IMO bad taste) but change for default hashing algorithm in
such important library is really really really bad idea.
This was not consulted, change like that or proposition should be reported
here :
https://github.com/maciej-izak/generics.collections/issues
OR IN ANY OTHER WAY, not in comment in other bug report where can be easily
omitted (!).
The problem with thashmapextendedequalitycomparer example was really minor
and should be fixed in other way not by changing *default hashing
algorithm* for whole library (!).
Widely used TDictionary<TKey, TValue> is also affected by this change.
Results BEFORE Michael Van Canneyt changes:
THashSet<string> add 2000000 items. Time elapsed : 1844
THashSet<string> lookup 2000000 items. Time elapsed : 812
TSortedHashSet<string> add 2000000 items. Time elapsed : 18640
TSortedHashSet<string> lookup 2000000 items. Time elapsed : 641
THashSet<integer> add 10000000 items. Time elapsed : 1328
THashSet<integer> lookup 10000000 items. Time elapsed : 640
TSortedHashSet<integer> add 10000000 items. Time elapsed : 4235
TSortedHashSet<integer> lookup 10000000 items. Time elapsed : 765
Results AFTER Michael Van Canneyt changes:
THashSet<string> add 2000000 items. Time elapsed : 2250
THashSet<string> lookup 2000000 items. Time elapsed : 906
TSortedHashSet<string> add 2000000 items. Time elapsed : 18828
TSortedHashSet<string> lookup 2000000 items. Time elapsed : 688
THashSet<integer> add 10000000 items. Time elapsed : 2219
THashSet<integer> lookup 10000000 items. Time elapsed : 1140
TSortedHashSet<integer> add 10000000 items. Time elapsed : 5250
TSortedHashSet<integer> lookup 10000000 items. Time elapsed : 1234
--
Best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20180630/9fee43a2/attachment.html>
More information about the fpc-devel
mailing list