The amount of time between forking a process to run through the queue is defined by the -q flag. If you run with delivery mode set to i or b this can be relatively large, since it will only be relevant when a host that was down comes back up. If you run in q mode it should be relatively short, since it defines the maximum amount of time that a message may sit in the queue. (See also the MinQueueAge option.)
RFC 1123 section 220.127.116.11 says that this value should be at least 30 minutes (although that probably doesn't make sense if you use ``queue-only'' mode).