When Polipo runs out of memory (see Limiting memory usage), it will start discarding instances from its memory cache. If a disk cache has been configured, it will write out any instance that it discards. Any memory allocation that prompted the purge must then wait for the write to complete.
In order to avoid the latency hit that this causes, Polipo will
preemptively write out instances to the disk cache whenever it is
idle. The integer
idleTime specifies the time during which
Polipo will remain idle before it starts writing out random objects to
the on-disk cache; this value defaults to 20s. You may want to
decrease this value for a busy cache with little memory, or increase
it if your cache is often idle and has a lot of memory.
maxObjectsWhenIdle (default 32) specifies the maximum
number of instances that an idle Polipo will write out without
checking whether there’s any new work to do. The value
maxWriteoutWhenIdle specifies the maximum amount of data
(default 64kB) that Polipo will write out without checking for
new activity. Increasing these values will make asynchronous
write-out slightly faster, at the cost of possibly increasing Polipo’s
latency in some rare circumstances.