Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
Object pooling is an automatic service that allows a pool of active component instances to be maintained for usage by any requesting client.
Object pooling provides a repository of active and ready-made objects that may be used by clients requesting configured pooling components. Pool objects may be configured and monitored by specifying required options, such as pool size and time-out value for object creation.
The key benefit of object pooling is a reduction in object construction and initialization time. Object pooling works well with expensive and heavyweight objects that increase memory overhead, resulting in optimized resources that may be allocated prior to starting the application. Object pooling also suits Web server components created when responding to multiple simultaneous client requests. Object pooling facilitates the sharing of required but expensive object access resources.
Originally, object pooling was implemented in COM+ in Windows 2000 to configure pooling by reusing objects for performance and scaling benefits. This service also may be used in applications built in .NET frameworks and in .NET components. It also works with legacy applications written with COM/COM+. Unlike Visual Basic 6.0 components, Visual Basic .NET components make use of object pooling.
Object pooling depends on an operating system's application domain. In Windows 2000 and for library mode of application activation, the object pool is created in the default application domain. In Windows XP and Windows Server 2003 each application domain has its own object pool. For server mode, clients use the object pool created in the application domain.
When combined with Just-In-Time (JIT) activation, object pooling yields good performance by speeding object reactivation time while controlling dedicated client resources.