7 Repos
Software designs that eliminate temporary object creation to prevent garbage collection overhead.
Distinct from Incremental Garbage Collection: Neither GC tuning nor incremental GC describes the proactive architecture of avoiding allocations entirely.
Explore 7 awesome GitHub repositories matching software engineering & architecture · Zero-Allocation Architectures. Refine with filters or upvote what's useful.
The 1BRC (One Billion Row Challenge) is a Java performance benchmarking exercise that processes one billion temperature records from a text file to compute the minimum, mean, and maximum temperature per weather station. At its core, it is a large-scale data aggregation challenge designed to test how efficiently a Java program can parse and aggregate structured data from a plain text file, serving as both a programming exercise and a benchmark for Java performance optimization. The project distinguishes itself through a collection of performance-oriented architectural patterns for high-through
Pre-allocates all working data structures upfront and avoids object creation during the hot loop to eliminate GC pauses.
Dieses Projekt ist eine Referenzimplementierung und ein architektonischer Bauplan für den Aufbau verteilter Systeme unter Verwendung des go-zero-Frameworks. Es bietet ein vollständiges Microservices-Boilerplate und ein standardisiertes Projektlayout, um API- und RPC-Services mit konsistenten Ordnerstrukturen zu bootstrappen. Die Implementierung zeichnet sich durch einen umfassenden Leitfaden und eine Codebasis für Service-Discovery, Rate-Limiting und Circuit-Breaking aus. Sie demonstriert eine Observability-Stack-Integration, die verteiltes Tracing, Metrikerfassung und zentralisiertes Logging über mehrere Microservices hinweg koordiniert. Das System deckt ein breites Spektrum verteilter Funktionen ab, einschließlich asynchronem Messaging via Publish-Subscribe-Modell, verteiltem Transaktionsmanagement für Datenkonsistenz und einem Gateway-Aggregation-Pattern zur Trennung externer Requests von interner Kommunikation. Es enthält zudem automatisierte Codegenerierung aus Definitionen und Continuous-Delivery-Pipelines für Container-Deployments.
Features a zero-allocation router that minimizes memory overhead for high-performance request processing.
Chronicle Queue is a high-performance data handling system featuring off-heap message queues, memory-mapped file stores, and replicated message stores. It provides a binary compatible memory layout that enables different programming languages to share data without serialization overhead. The system utilizes a replicated message store to synchronize data across multiple nodes, ensuring high availability and instant failover. Its memory-mapped architecture supports deterministic replay from disk and low-latency data recording. The project implements off-heap memory management and zero-allocati
Employs a zero-allocation architecture and off-heap memory to completely eliminate garbage collection pauses.
Embedded-hal is a hardware abstraction layer for embedded microcontrollers that defines common traits allowing peripheral drivers to remain entirely independent of specific hardware platforms. The library provides platform-agnostic interfaces that decouple driver logic from microcontroller architectures, utilizing zero-cost trait abstractions that compile down to direct hardware register manipulations without runtime overhead or memory allocation. The project features asynchronous execution support and synchronous-to-asynchronous adaptation, enabling non-blocking peripheral operations and coo
Provides stream and I/O traits that operate entirely without standard libraries or heap allocators.
Heapless is an embedded Rust data structure library that provides statically allocated, fixed-capacity collections for memory-constrained systems. It implements a zero-allocation runtime model where all collection elements are stored inline within their own value structure, completely removing the need for operating system interaction, global allocators, or runtime heap allocation. Capacity is specified at compile time through generic type parameters, ensuring every collection has a fixed upper bound known before execution. The library implements core language traits to provide standard coll
Operates without operating system interaction or global allocators, making data structures safe for bare-metal microcontrollers.
ICU4X is a modular internationalization library written in Rust, designed as a cross-platform toolkit for formatting text, dates, numbers, and identifiers according to specific regional and cultural rules. It decomposes internationalization features into independent micro-libraries and embeds optimized binary structures directly into application binaries during the build phase via compile-time code generation, or loads externalized cultural datasets dynamically on demand. The library utilizes zero-allocation data structuring to access internationalization properties directly from serialized
Accesses internationalization properties directly from serialized buffers without parsing or allocating dynamic heap memory at runtime.
Glob is a pattern matching library for Go that compiles wildcard strings and file paths into optimized matchers for high-throughput string validation and filtering. It evaluates text and file paths against character sets, ranges, and alternatives to determine if candidate inputs fit specific criteria. The library parses raw glob strings into structured syntax nodes before translating them into bytecode instruction sequences upfront. This compilation process enables finite state machine evaluations and zero-allocation path matching during runtime execution, preventing garbage collection press
Executes string validations without allocating heap memory to prevent garbage collection pressure during high-frequency checks.