It's optimisation time on my game, I've got a nice and complicated object structure containing lots of lists and it's taking 40ms to process the game logic. Too long by far.

So what I want to know is, what's the fastest type of list available for Pascal. BTW: I'm using Freepascal these days.

Here's the situation.

I'm using StringLists at the mo because they give me Key:Object access and they allow sequential access via an Objects array. But this is probably too slow for real rapid access.

I've wrapped up the string list in my own collection class so I'll be able to make any optimisations accross the board.

I need both sequential, indexed and keyword access to the collection.
I want the best of all worlds.

Any suggestions?