A stack implementation with a reset! function which avoids garbage collection
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
test
.gitignore
.travis.yml
LICENSE.md
README.md
REQUIRE
appveyor.yml

README.md

ResettableStacks

Build Status Build status

ResettableStacks ResettableStacks

A ResettableStack is a stack implementation which has a reset! function which will "reset" the stack, allowing it to write over its previous data. This allows you to reset the stack while avoiding garbage collection which can greatly improve performance in certain use cases. Every FULL_RESET_COUNT resets, it does a full reset, which is useful if the stack got very large for some reason and it no longer needs to be that large (while minimizing garbage control costs).

Installation

To install the package, simply use:

Pkg.add("ResettableStacks")
using ResettableStacks

For the latest version, checkout master via:

Pkg.checkout("ResettableStacks")

Usage

using ResettableStacks
S = ResettableStack{}(Tuple{Float64,Float64,Float64})

push!(S,(0.5,0.4,0.3))
push!(S,(0.5,0.4,0.4))
reset!(S)
push!(S,(0.5,0.4,0.3))
tup = pop!(S)