Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
We need to research and possibly implement an optimization for the "Performance bug: SystemDictionary" warning. This is about "unbalanced" hash table, where certain entries get stuck at the end of a bucket's linked list, even though they have much higher lookup count the the other entries in the list. One way to fix this would be to make sure the high lookup entries remain at the head of the list (either by adding the new entries to the tail, or marking the special entries by a special bit in their memory pointer, and checking that bit when inserting a new element, and if the bit is ON we add new element after the special one) We also should add the "verify_lookup_length" warning to all tables and enable it for product builds. Lastly, as part of this feature we should determine how we can test and validate this performance issue and any solution (currently the performance warning can pop-up during any debug test and possibly interfere with it - would be nice to have a dedicated test).
|