awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectServer MCPDespreCum realizăm clasamentulPresă
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

8 repository-uri

Awesome GitHub RepositoriesStructural Sharing

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.

Awesome Structural Sharing GitHub Repositories

Găsește cele mai bune repo-uri cu AI.Vom căuta cele mai potrivite repository-uri folosind AI.
  • facebook/immutable-jsAvatar facebook

    facebook/immutable-js

    33,060Vezi pe GitHub↗

    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.

    TypeScript
    Vezi pe GitHub↗33,060
  • immutable-js/immutable-jsAvatar immutable-js

    immutable-js/immutable-js

    33,060Vezi pe GitHub↗

    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.

    TypeScript
    Vezi pe GitHub↗33,060
  • immerjs/immerAvatar immerjs

    immerjs/immer

    28,957Vezi pe GitHub↗

    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.

    JavaScriptimmutableimmutablesreducer
    Vezi pe GitHub↗28,957
  • mweststrate/immerAvatar mweststrate

    mweststrate/immer

    28,957Vezi pe GitHub↗

    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.

    JavaScript
    Vezi pe GitHub↗28,957
  • liuxinyu95/algoxyAvatar liuxinyu95

    liuxinyu95/AlgoXY

    6,325Vezi pe GitHub↗

    AlgoXY este o carte educațională de programare funcțională și o publicație tehnică produsă sub formă de carte digitală LaTeX. Servește drept resursă de educație în programare și bibliotecă axată pe algoritmi funcționali și structuri de date. Proiectul oferă o colecție de structuri de date persistente, cum ar fi arbori și heap-uri, concepute pentru gestionarea stării imutabile. Include o serie de exerciții de implementare și răspunsuri verificate pentru a preda concepte fundamentale de informatică prin aplicarea practică a logicii funcționale. Conținutul acoperă designul structurilor de date persistente și implementarea algoritmilor funcționali pentru sortare și căutare. Aceste materiale sunt livrate sub formă de publicație tehnică tehnoredactată profesional, creată folosind un sistem de build LaTeX.

    Employs techniques for reusing unchanged nodes between versions of persistent data structures to optimize memory.

    TeXalgorithmsfunctional-programminghaskell
    Vezi pe GitHub↗6,325
  • cri-o/cri-oAvatar cri-o

    cri-o/cri-o

    5,629Vezi pe GitHub↗

    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.

    Go
    Vezi pe GitHub↗5,629
  • loro-dev/loroAvatar loro-dev

    loro-dev/loro

    5,374Vezi pe GitHub↗

    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.

    Rustcollaborative-editingcrdtlocal-first
    Vezi pe GitHub↗5,374
  • kotlin/kotlinx.collections.immutableAvatar Kotlin

    Kotlin/kotlinx.collections.immutable

    1,409Vezi pe GitHub↗

    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.

    Kotlincollectionsimmutableimmutable-collections
    Vezi pe GitHub↗1,409
  1. Home
  2. Programming Languages & Runtimes
  3. Programming Utilities
  4. Data Structure and Type Helpers
  5. Data Structures
  6. Hierarchical Tree Structures
  7. Structural Sharing

Explorează sub-etichetele

  • Concurrent Container Initialization1 sub-tagDeterministic initialization of shared data containers to resolve concurrent creation to a single identity. **Distinct from Structural Sharing:** Focuses on resolving concurrent identity of shared containers, not memory-saving structural sharing.