If receive-message is called repeatedly on a given inbox, it may fruitlessly search through a large head of messages many times. Instead, one might maintain a pointer (per message type) to the position in the queue through which the search has already been performed, so that future calls skip past this head.
This is the kind of optimization that is more relevant on hardware and for very large message queues, neither of which is true in our application (I think). Still, it's a pleasant sort of cleverness.
An implementation of this would be connected to #17 .
If
receive-messageis called repeatedly on a given inbox, it may fruitlessly search through a large head of messages many times. Instead, one might maintain a pointer (per message type) to the position in the queue through which the search has already been performed, so that future calls skip past this head.This is the kind of optimization that is more relevant on hardware and for very large message queues, neither of which is true in our application (I think). Still, it's a pleasant sort of cleverness.
An implementation of this would be connected to #17 .