awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

8 个仓库

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

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • facebook/immutable-jsfacebook 的头像

    facebook/immutable-js

    33,060在 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
    在 GitHub 上查看↗33,060
  • immutable-js/immutable-jsimmutable-js 的头像

    immutable-js/immutable-js

    33,060在 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
    在 GitHub 上查看↗33,060
  • immerjs/immerimmerjs 的头像

    immerjs/immer

    28,957在 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
    在 GitHub 上查看↗28,957
  • mweststrate/immermweststrate 的头像

    mweststrate/immer

    28,957在 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
    在 GitHub 上查看↗28,957
  • liuxinyu95/algoxyliuxinyu95 的头像

    liuxinyu95/AlgoXY

    6,325在 GitHub 上查看↗

    AlgoXY 是一本函数式编程教育书籍和技术出版物,以 LaTeX 数字书籍形式制作。它作为一个编程教育资源和库,专注于函数式算法和数据结构。 该项目提供了一系列持久化数据结构(如树和堆),专为不可变状态管理而设计。它包含一系列实现练习和验证答案,通过函数式逻辑的实际应用来教授核心计算机科学概念。 内容涵盖了持久化数据结构的设计以及排序和搜索函数式算法的实现。这些材料以使用 LaTeX 构建系统制作的专业排版技术出版物形式交付。

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

    TeXalgorithmsfunctional-programminghaskell
    在 GitHub 上查看↗6,325
  • cri-o/cri-ocri-o 的头像

    cri-o/cri-o

    5,629在 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
    在 GitHub 上查看↗5,629
  • loro-dev/loroloro-dev 的头像

    loro-dev/loro

    5,374在 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
    在 GitHub 上查看↗5,374
  • kotlin/kotlinx.collections.immutableKotlin 的头像

    Kotlin/kotlinx.collections.immutable

    1,409在 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
    在 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

探索子标签

  • Concurrent Container Initialization1 个子标签Deterministic 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.