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
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel