# Non-deallocating (permanently growing) extensible arrays

**URL:** <https://discourse.julialang.org/t/non-deallocating-permanently-growing-extensible-arrays/31056>\
**Category:** General Usage\
**Created:** [November 13, 2019, 8:00pm UTC](https://discourse.julialang.org/t/non-deallocating-permanently-growing-extensible-arrays/31056 "2019-11-13T20:00:37Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![non-Jedi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/non-jedi/32/3645_2.png) [@non-Jedi](https://discourse.julialang.org/u/non-Jedi)\
**Post date:** [November 13, 2019, 8:18pm UTC](https://discourse.julialang.org/t/non-deallocating-permanently-growing-extensible-arrays/31056/2 "2019-11-13T20:18:38Z")

</div>

Welcome to the Julia forum. 🙂

PushVectors explicitly does what you’re requesting, but I believe that in general Julia does not deallocate the underlying memory if you `pop!` off of or `resize!` a vector. The only real advantage to PushVectors is that [it avoids a call into the runtime library at each usage of `push!`](https://github.com/JuliaLang/julia/issues/24909). There’s [some discussion of the performance model of `push!` and friends](https://discourse.julialang.org/t/documenting-performance-model-of-empty-sizehint-push-friends/23544) scattered about on this forum that might be helpful.

[https://github.com/tpapp/PushVectors.jl](https://github.com/tpapp/PushVectors.jl)

---

_[View the full topic](https://discourse.julialang.org/t/non-deallocating-permanently-growing-extensible-arrays/31056)._
