The following code looks innocuous but slows down a program significantly: Yes it's Quicksort and it sorts strings in a TCheckListBox's Items property, swapping not only the strings but also the objects and the Checked values. Now, run this with, lets say 100 entries. That shouldn't be any problem for Quicksort, should it? But it … Continue reading When sorting a “StringList” is very costly