8 repositorios
Techniques for reusing unchanged nodes between versions of a persistent data structure.
Distinct from Hierarchical Tree Structures: Specifically refers to the memory optimization technique of sharing nodes, not just the general hierarchy.
Explore 8 awesome GitHub repositories matching programming languages & runtimes · Structural Sharing. Refine with filters or upvote what's useful.
This is a persistent data structure library for JavaScript that provides collections which prevent the direct mutation of objects and arrays. It serves as an immutable state management tool and functional programming utility, ensuring that data remains unchanged after creation to simplify change detection and state tracking. The library enables the maintenance of application state by producing new versions of data structures during updates. It focuses on efficient data comparison by checking actual content instead of memory references and supports a functional programming workflow to prevent
Uses structural sharing to minimize memory overhead when producing new versions of data structures.
Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a collection of immutable objects and arrays that prevent direct mutation to ensure predictable state management in JavaScript applications. The library utilizes structural sharing to efficiently create new versions of data without full copying and implements lazy sequence processing to chain data transformations that execute only when values are requested. It also supports batch mutation processing, allowing multiple changes to be applied to a temporary mutable copy before returning
Employs structural sharing to reuse unchanged nodes between versions of persistent data structures, minimizing memory overhead.
Immer is an immutable state management library used to create new versions of data structures. It allows the production of new state by mutating a temporary draft instead of using manual object spreading. The project implements structural sharing to reuse unchanged parts of a data tree between versions, which reduces memory consumption. It also functions as a JSON patch generator to calculate and output the differences between two state versions. To ensure data integrity, the library includes a state mutation protector that freezes data structures to detect and prevent accidental modificatio
Implements structural sharing to reuse unchanged nodes between state versions, minimizing memory consumption.
Immer is an immutable state management library for JavaScript that enables the creation of new versions of state trees. It functions as a state container that uses a proxy-based handler to ensure data immutability. The library utilizes a copy-on-write mechanism and a draft-based mutation model. This allows users to write mutating code on a temporary proxy, which the system then uses to produce a new immutable result while keeping the original state unchanged. The project covers immutable state management and complex object cloning to facilitate predictable state transitions. These capabiliti
Utilizes structural sharing to reuse unchanged branches of the state tree, minimizing memory allocations.
AlgoXY es un libro educativo de programación funcional y publicación técnica producido como un libro digital en LaTeX. Sirve como recurso de educación en programación y librería centrada en algoritmos funcionales y estructuras de datos. El proyecto proporciona una colección de estructuras de datos persistentes, como árboles y montículos (heaps), diseñadas para la gestión de estado inmutable. Incluye una serie de ejercicios de implementación y respuestas verificadas para enseñar conceptos fundamentales de ciencias de la computación a través de la aplicación práctica de la lógica funcional. El contenido cubre el diseño de estructuras de datos persistentes y la implementación de algoritmos funcionales para ordenamiento y búsqueda. Estos materiales se entregan como una publicación técnica profesionalmente maquetada creada mediante un sistema de compilación LaTeX.
Employs techniques for reusing unchanged nodes between versions of persistent data structures to optimize memory.
CRI-O is an open-source container runtime that implements the Kubernetes Container Runtime Interface (CRI) to manage container images, pods, and containers on cluster nodes using OCI-compatible runtimes. It serves as a node-level container manager that handles image pulling, container lifecycle, and resource monitoring for Kubernetes clusters, running containers according to the Open Container Initiative specifications. The runtime distinguishes itself through live configuration reloading that applies changes to runtime definitions, registry mirrors, and TLS certificates without restarting th
Prevents segmentation faults when multiple stop requests arrive for the same container simultaneously.
Loro is a conflict-free replicated data type (CRDT) framework and collaborative state engine designed for building real-time collaborative applications. It provides a distributed data synchronizer that enables multiple users to edit shared documents and complex nested structures—such as maps, lists, trees, and counters—with automatic state convergence without requiring a central server. The project distinguishes itself through a versioned document store that supports branching, forking, and merging via a directed acyclic graph of causal operation history. It enables advanced version control c
Creates nested data structures at specific keys so concurrent initializations resolve to a single shared identity.
Kotlinx.collections.immutable is a persistent data structure library for Kotlin that provides immutable lists, sets, and maps for state management. It enforces strict immutability by exposing read-only interfaces that block unauthorized modifications at compile time, while persistent structural sharing allows modified copies to efficiently reuse underlying memory storage with the original collection. Multiple insertions and removals can be batched through temporary mutable builder interfaces to instantly produce new persistent collections without intermediate allocations. Additionally, stand
Reuses unchanged underlying structural nodes efficiently between modified copies of persistent data collections.