6 Repos
Efficiently extracting sub-sections of an array without duplicating the underlying data.
Distinct from Immutable Array Updates: Focuses on the performance aspect of slicing via read-only spans rather than general array modifications.
Explore 6 awesome GitHub repositories matching data & databases · Zero-Copy Array Slicing. Refine with filters or upvote what's useful.
nom is a parser combinator framework for Rust used to build complex parsers by combining small, reusable parsing functions. It functions as a zero-copy parsing tool that minimizes memory overhead by returning slices of the original input instead of allocating new memory. The framework is designed for diverse data formats, serving as a binary data parser with configurable endianness and a bitstream processing library capable of extracting values of arbitrary bit length. It also functions as a streaming data parser that can process data arriving in chunks and signal when additional input is req
Efficiently extracts sub-sections of input without duplicating the underlying data to minimize memory overhead.
100 Go Mistakes is a reference book and code review companion that catalogues frequent Go programming anti-patterns and provides corrected implementations for each one. It covers a wide range of common pitfalls, from range loop variable capture and interface nil handling to error wrapping and map iteration randomization, helping developers recognize and avoid these issues in their own code. The project distinguishes itself by offering a structured, example-driven approach to learning idiomatic Go. It covers core design decisions such as when to use pointer versus value receivers, how to apply
Shows how to avoid unintended modifications when appending to shared slices.
language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution
Extracts array sub-sections as read-only spans or new subarrays without copying data.
Warp is a Python framework that JIT-compiles Python functions into CUDA kernels for GPU-accelerated parallel computation, with built-in automatic differentiation and multi-framework array interoperability. At its core, it provides a GPU kernel compilation system that enables writing and executing custom GPU kernels directly from Python, while supporting automatic gradient computation through those kernels for integration with machine learning pipelines. The framework also includes tile-based cooperative computing, where thread blocks partition into tiles for shared-memory and tensor-core opera
Converts Warp arrays to and from any DLPack-compatible array without copying data.
Dieses Projekt ist ein umfassender Leitfaden und eine Referenz für Performance-Programmierung in Go, mit Fokus auf Laufzeiteffizienz und Speicheroptimierung. Es bietet eine Sammlung von Patterns und Techniken, die darauf ausgelegt sind, die Ausführungsgeschwindigkeit durch Reduzierung des Garbage-Collection-Overheads und Optimierung der Speichernutzung zu steigern. Die Ressource zeichnet sich durch detaillierte Referenzimplementierungen zur Speicheroptimierung aus, wie etwa Escape-Analyse, Object Pooling und Structure Memory Alignment. Sie bietet spezifische Strategien zur Reduzierung der Binärgröße und zur Verbesserung der CPU-Cache-Effizienz durch Optimierung des Speicherlayouts von Strukturen und die Verwendung von Zero-Allocation-Platzhaltern. Das Projekt deckt ein breites Spektrum an Backend-Engineering-Fähigkeiten ab, einschließlich Concurrency-Management mit Worker Pools und Synchronisations-Primitiven, High-Performance-RPC und HTTP-Routing sowie Strategien für verteiltes Caching. Es enthält zudem Anleitungen zur Observability durch CPU- und Memory-Profiling sowie Quality-Assurance-Patterns für funktionale Unit-Tests und die Generierung von Mock-Objekten. Der Inhalt ist als Serie von Tutorials, Architekturbeispielen und Benchmarking-Leitfäden strukturiert, um Entwicklern bei der Analyse und Behebung von Performance-Engpässen zu helfen.
Provides strategies to reduce memory overhead by using pointers or slices instead of fixed-size arrays when passing data.
xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an interface mirroring the NumPy API. It utilizes a lazy evaluation expression engine to defer numerical computations until assignment, which minimizes memory allocations and intermediate copies. The library features a foreign memory array adaptor that allows it to wrap external buffers, such as NumPy arrays, to perform numerical operations in-place without duplicating data. It further optimizes performance through lazy broadcasting and a system that manages the lifetime of temp
Extracts sub-sections of arrays using indices or ranges without duplicating underlying memory.