#### 4.3.1 Asynchronous writing

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.

The value `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.