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

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

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

microsoft/verona

0
View on GitHub↗
3,723 星标·169 分支·C++·MIT·6 次浏览microsoft.github.io/verona↗

Verona

Verona is a research programming language designed to prevent data races through a system of concurrent ownership and deep immutability. It utilizes a deeply immutable memory model to ensure that complex objects cannot be mutated, allowing data to be shared across concurrent threads without synchronization locks.

The project features a deterministic parallel execution engine that ensures reproducible outputs regardless of thread timing. It employs a region-based memory manager to assign memory regions to specific threads or processes, reducing contention in producer-consumer workloads.

The system manages memory using a reference-counting garbage collector capable of handling immutable cycles across multiple sub-interpreters. It further supports parallel execution safety through state transfer via message passing and provides tools to visualize region structures.

Features

  • Deeply Immutable Memory Models - Implements a deeply immutable memory model that prevents mutation of complex objects to enable lock-free data sharing across threads.
  • Thread-Local Region Ownership - Implements a concurrency model where memory regions are owned by specific threads to prevent data races.
  • Ownership-Based Race Prevention - Managing shared data across multiple threads by applying strict ownership rules to prevent data races and memory corruption.
  • State Transfer - Moves state and ownership between isolated sub-interpreters using a messaging system for parallel safety.
  • Deep Immutability Enforcements - Implements recursive read-only modifiers to ensure complex objects cannot be mutated across concurrent threads.
  • Inter-Interpreter State Transfer - Transfers state and ownership between isolated sub-interpreters using message passing to ensure parallel safety.
  • Reference-Counting Garbage Collectors - Uses a reference-counting garbage collector to automatically manage memory for immutable objects.
  • Regional Object Allocation - Organizes memory into distinct regions to improve efficiency and reduce contention in parallel workloads.
  • Parallel Task Execution - Executes parallel tasks in a deterministic order to ensure consistent output across CPU cores.
  • Concurrent Programming Languages - A research programming language designed specifically for data-race prevention via concurrent ownership and deep immutability.
  • Deterministic Execution - Provides a deterministic parallel execution engine that ensures reproducible outputs regardless of thread timing.
  • Lock-Free Parallel Execution - Ensures race-free results by combining message passing and ownership transfers for parallel execution.
  • Region-Based Memory Managers - Employs a region-based memory manager to assign memory regions to specific threads, reducing contention in producer-consumer workloads.
  • Deterministic Execution - Provides a parallel execution engine that ensures reproducible and consistent outputs regardless of thread timing.
  • 内存分配器 - Implements a specialized memory allocator using message passing to reduce producer-consumer contention.
  • Message-Passing Allocators - Employs a message-passing allocator to distribute memory and reduce contention in producer-consumer workloads.
  • Cycle-Free Immutable Reclamation - Manages immutable objects across sub-interpreters using reference counting without requiring a local cycle collector.
  • Reference Counting - Manages the lifecycle of immutable data structures and circular references using reference counting.
  • Immutable Cycle Management - Uses reference counting to manage memory for deeply immutable data structures that contain circular references.

Star 历史

microsoft/verona 的 Star 历史图表microsoft/verona 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Verona 的开源替代方案

相似的开源项目,按与 Verona 的功能重合度排序。
  • higherorderco/bendHigherOrderCO 的头像

    HigherOrderCO/Bend

    19,175在 GitHub 上查看↗

    Bend is a high-level parallel programming language and compiler designed to execute code across multi-core CPUs and GPUs automatically. By translating functional source code into a graph-based intermediate representation, it enables massive parallel execution without requiring manual management of threads, locks, or atomic operations. The runtime operates as an interaction net engine, where computations are represented as networks of nodes that reduce through local rewriting rules. This model utilizes a work-stealing scheduler to distribute tasks across thousands of hardware threads, ensuring

    Rust
    在 GitHub 上查看↗19,175
  • papermc/foliaPaperMC 的头像

    PaperMC/Folia

    4,275在 GitHub 上查看↗

    Folia is a regionised multithreaded Minecraft server fork and game engine designed to increase capacity and processing speed for large player counts. It functions as a multithreaded system that distributes entity and block logic across a thread pool to avoid single-core bottlenecks. The server utilizes a regional task scheduler that splits the game world into independent regions processed in parallel across multiple CPU cores. This architecture employs coordinate-based thread mapping and spatial task scheduling to ensure that game logic is executed on specific threads based on the physical lo

    Shellbukkitcraftbukkitjava
    在 GitHub 上查看↗4,275
  • borgo-lang/borgoborgo-lang 的头像

    borgo-lang/borgo

    4,640在 GitHub 上查看↗

    Borgo is a statically typed language and compiler that transforms high-level syntax into Go source code. It functions as a transpiler designed to leverage the Go runtime while introducing a type system centered on algebraic data types and result-based error handling. The language distinguishes itself by replacing Go's multiple return values with result and option types, using a dedicated operator for concise error propagation. It implements sum types with exhaustive pattern matching and provides a tool to generate bindings for existing Go packages, automatically converting multi-value returns

    Rustcompilergolangprogramming-language
    在 GitHub 上查看↗4,640
  • bellard/quickjsbellard 的头像

    bellard/quickjs

    10,411在 GitHub 上查看↗

    QuickJS is a lightweight, memory-efficient JavaScript engine and runtime designed for embedding within C applications. It provides a small binary footprint and supports the latest ECMAScript standards, enabling the execution of JavaScript code with fast startup times and low memory usage. The project includes a standalone JavaScript compiler that transforms source code into independent binary executables. These files run on a machine without requiring an external language runtime. The engine implements deterministic memory management through reference counting and cycle collection. It also p

    C
    在 GitHub 上查看↗10,411
查看 Verona 的所有 30 个替代方案→

常见问题解答

microsoft/verona 是做什么的?

Verona is a research programming language designed to prevent data races through a system of concurrent ownership and deep immutability. It utilizes a deeply immutable memory model to ensure that complex objects cannot be mutated, allowing data to be shared across concurrent threads without synchronization locks.

microsoft/verona 的主要功能有哪些?

microsoft/verona 的主要功能包括:Deeply Immutable Memory Models, Thread-Local Region Ownership, Ownership-Based Race Prevention, State Transfer, Deep Immutability Enforcements, Inter-Interpreter State Transfer, Reference-Counting Garbage Collectors, Regional Object Allocation。

microsoft/verona 有哪些开源替代品?

microsoft/verona 的开源替代品包括: higherorderco/bend — Bend is a high-level parallel programming language and compiler designed to execute code across multi-core CPUs and… papermc/folia — Folia is a regionised multithreaded Minecraft server fork and game engine designed to increase capacity and processing… higherorderco/hvm2 — HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime… bellard/quickjs — QuickJS is a lightweight, memory-efficient JavaScript engine and runtime designed for embedding within C applications.… borgo-lang/borgo — Borgo is a statically typed language and compiler that transforms high-level syntax into Go source code. It functions… ts-essentials/ts-essentials — ts-essentials is a comprehensive toolkit of utility types and libraries for TypeScript, providing advanced primitives…