ResettableStacks.jl

A stack implementation with a reset! function which avoids garbage collection for scientific machine learning (SciML)
Author SciML
Popularity
7 Stars
Updated Last
7 Months Ago
Started In
June 2016

ResettableStacks

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)