To Pool or Not To Pool? Revisiting an Old Pattern
Ioannis T. Christou, Sofoklis Efremidis

TL;DR
This paper reevaluates the object-pool pattern in Java, demonstrating that it can improve response times and reduce memory footprint in high-performance, memory-constrained multi-threaded applications, contrary to common criticism.
Contribution
The paper provides experimental evidence that the object-pool pattern can be beneficial for short-lived memory objects in specific high-performance scenarios.
Findings
Object pooling reduces response time in multi-threaded applications.
Object pooling decreases memory footprint in constrained environments.
Pattern effectiveness varies with application context.
Abstract
We revisit the well-known object-pool design pattern in Java. In the last decade, the pattern has attracted a lot of criticism regarding its validity when used for light-weight objects that are only meant to hold memory rather than any other resources (database connections, sockets etc.) and in fact, common opinion holds that is an anti-pattern in such cases. Nevertheless, we show through several experiments in different systems that the use of this pattern for extremely short-lived and light-weight memory objects can in fact significantly reduce the response time of high-performance multi-threaded applications, especially in memory-constrained environments. In certain multi-threaded applications where high performance is a requirement and/or memory constraints exist, we recommend therefore that the object pool pattern be given consideration and tested for possible run-time as well as…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Logic, programming, and type systems
