Object Pool Pattern

The object pool pattern is a software creational design pattern that uses a set of initialised objects kept ready to use, rather than allocating and destroying them on demand. A client of the pool will request an object from the pool and perform operations on the returned object. When the client has finished, it returns the object, which is a specific type of factory object, to the pool rather than destroying it.

Object pooling can offer a significant performance boost in situations where the cost of initializing a class instance is high, the rate of instantiation of a class is high, and the number of instances in use at any one time is low. The pooled object is obtained in predictable time when creation of the new objects (especially over network) may take variable time.

However these benefits are mostly true for objects that are expensive with respect to time, such as database connections, socket connections, threads and large graphic objects like fonts or bitmaps. In certain situations, simple object pooling (that hold no external resources, but only occupy memory) may not be efficient and could decrease performance.

Read more about Object Pool Pattern:  Handling of Empty Pools, Pitfalls, Criticism, Examples

Famous quotes containing the words object, pool and/or pattern:

    A CAUSE is an object precedent and contiguous to another, and so united with it that the idea of the one determines the mind to form the idea of the other, and the impression of the one to form a more lively idea of the other.
    David Hume (1711–1776)

    A pool is, for many of us in the West, a symbol not of affluence but of order, of control over the uncontrollable. A pool is water, made available and useful, and is, as such, infinitely soothing to the western eye.
    Joan Didion (b. 1934)

    We took advantage of [the Indians’] ignorance and inexperience to incline them the more easily toward treachery, lewdness, avarice, and every sort of inhumanity and cruelty, after the example and pattern of our ways.
    Michel de Montaigne (1533–1592)