Use Index* for pointer lists.
When compiling my application, this thing is called 90k times over a bit long lists (200±300 (max. 3000) items, 10% of the searches are unsuccesful, otherwise result is in the second half 70% of the time), 12 ms in total, which after the change surprisingly becomes 6 (4 with AVX2! :D). RTL changes are by analogy.
Also, use PPointer
instead of array[0 .. MaxListSize - 1] of pointer
in cclasses
version.
Edited by Rika