To Pool or Not To Pool? Revisiting an Old Pattern

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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:arXiv.org 2018-01
Hauptverfasser: Christou, Ioannis T, Efremidis, Sofoklis
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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 memory footprint improvements.
ISSN:2331-8422