one thing that might help is to spread some of the heavier loops over multiple frames.
by limiting the number of iterations of a loop that are allowed to run per frame you should be able to keep frame rate at a somewhat acceptable level. (while this doesn't speed up the market checking, I think the slowdown could be passed off as a natural trade-off to being an advanced civilization)