As I suggested I might, I’ve written up a little about some of the list sorting I was playing with lately.
It compares a non-recursive sorting algorithm to GList’s recursive algorithm, it compares an embedded node structure to GList’s internal node/external data structure, and it throws in an array sort for good measure. I try to analyse the results (often incorrectly or inconclusively) where they don’t match expectations in terms of memory access patterns (e.g. cache effects).
I guess it is work in progress – I’ve hacked it up a bit a few times so it isn’t as readable as it might be, and a few things are missing (like some definitions and the GList non-recursive sort code), but the current version can be found here.