repositorypackage
1.9.3
Repository: https://github.com/raezil/memoryarena.git
Documentation: pkg.go.dev
# README
Memory Arena lib in Golang!
The purpose of this package is to isolate multiple related allocations into a single area of memory, so that they can be freed all at once.Example
package main
import (
"fmt"
. "github.com/Raezil/memoryArena"
)
type Person struct {
Name string
Age int
}
func main() {
arena, err := NewMemoryArena[[]Person](512)
if err != nil {
fmt.Printf(err.Error())
}
concurrentArena := NewConcurrentArena[[]Person](*arena)
if err != nil {
fmt.Printf(err.Error())
}
obj, _ := NewObject[[]Person](concurrentArena, []Person{Person{"Kamil", 27}, Person{"Lukasz", 28}})
defer Reset(arena)
fmt.Println(obj)
}
To install
go get github.com/Raezil/memoryArena@latest