6 Repos
Allocation of contiguous memory arrays for direct pointer access using C types.
Distinct from Memory Allocators: Specifically targets the creation of raw C-style contiguous arrays for high-speed access.
Explore 6 awesome GitHub repositories matching operating systems & systems programming · Raw Memory Allocation. Refine with filters or upvote what's useful.
Torch7 is a scientific computing environment and tensor computation library used for deep learning research and numerical analysis. It functions as a Lua-based framework for training neural networks and learning agents, providing a toolkit for implementing architectures and training through reinforcement learning algorithms. The project is distinguished by its tight integration with C, utilizing a binding layer to map high-level scripting to low-level C structures for direct memory access. It supports hardware-accelerated computation by offloading linear algebra and convolution operations to
Creates contiguous arrays of basic C types for direct pointer access and high-performance memory operations.
JNA is a foreign function interface and native memory mapper that allows Java applications to call functions in shared native libraries without writing custom JNI wrapper code. It serves as a JNI alternative framework for invoking C functions and mapping native data structures using high-level interfaces. The library distinguishes itself through its ability to translate Java objects and primitives into C-style structs, unions, and pointers for cross-platform memory exchange. On Windows, it provides a dedicated toolkit for interacting with Component Object Model objects using both early and la
Allocates contiguous blocks of memory for arrays of structures to be consumed by native functions.
Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless integration with existing C libraries and low-level system programming. It manages memory deterministically at compile time using ownership tracking and linear types, eliminating garbage collection pauses and runtime overhead while ensuring type safety through an inferred static type system. The language distinguishes itself through compile-time macro expansion and metaprogramming capabilities, allowing code generation and transformation before final binary output. It enforces
Provides functions to allocate, read, and write untyped memory buffers.
node-ffi ist eine Foreign Function Interface-Bibliothek für Node.js, die den Aufruf von Funktionen aus nativen C-Dynamic-Libraries ermöglicht, ohne manuelle C++-Bindings schreiben zu müssen. Sie dient als System zum Laden von Shared Objects und DLLs in den Prozessspeicher, zur Übersetzung von JavaScript-Werten in binäre Repräsentationen und zur Ausführung externer Binärdateien zur Laufzeit. Das Projekt nutzt einen Wrapper um die libffi-Bibliothek, um Call-Frames zu konstruieren und native Funktionen mit dynamischen Argumenten auszuführen. Es zeichnet sich durch einen nativen Speicher-Manager zur Allokation von Raw-Pointern und ein Mapping-System aus, das komplexe C-Strukturen mit JavaScript-Objekten verbindet. Das Toolkit deckt ein breites Spektrum an nativer Interoperabilität ab, einschließlich automatischer Datentyp-Übersetzung und der Erstellung ausführbarer Speicher-Stubs, die es nativen Bibliotheken erlauben, JavaScript-Callbacks auszulösen. Um die Reaktionsfähigkeit des Main-Threads zu erhalten, unterstützt es ein asynchrones Ausführungsmodell, das native Funktionsaufrufe in einen separaten Thread-Pool auslagert.
Provides a low-level interface for allocating raw contiguous memory buffers and manipulating C-style pointers.
Dieses Projekt ist eine technische Referenz und eine Sammlung interner Analyse-Notizen, die sich auf die Go-Sprach-Runtime und den Compiler konzentrieren. Es bietet eine detaillierte Aufschlüsselung der Interna der Sprache, einschließlich Speicherverwaltung, Garbage Collection und des Ausführungsmodells des Schedulers. Das Material zeichnet sich durch Deep-Dives in Low-Level-Systemdetails aus, einschließlich einer Referenz für Go-Assembly-Instruktionen, Register-Nutzung und System-Call-Interfacing. Es analysiert spezifisch die interne Implementierung von Concurrency-Primitiven, wie den Goroutine-Scheduling-Mechanismus, Channel-Operationen und Mutex-Lock-Implementierungen. Die Abdeckung erstreckt sich auf die Compiler-Konstruktionstheorie, einschließlich lexikalischer und syntaktischer Analyse, sowie die Mechanik des Typsystems und des Interface-Managements. Es beschreibt zudem verschiedene Performance-Optimierungstechniken, Runtime-Diagnose-Utilities für Stack-Tracing und Netzwerk-I/O-Primitive.
Explains how the Go runtime allocates raw memory blocks and reserves address spaces using system calls.
Buffer ist eine Bibliothek für die Binärdatenmanipulation, die eine browserkompatible Implementierung des Node.js-Binärdaten-API bereitstellt. Sie ermöglicht es Entwicklern, rohe Binärdatenstrukturen innerhalb von Webumgebungen zu erstellen, zu modifizieren und zu verarbeiten, unter Verwendung eines konsistenten Interfaces, das serverseitige Standards widerspiegelt. Die Bibliothek zeichnet sich durch einen einheitlichen Ansatz für die plattformübergreifende JavaScript-Entwicklung aus, der geteilten Code zwischen Server- und Browserumgebungen ermöglicht. Dies wird durch das Polyfilling standardmäßiger Binärmethoden und die Erweiterung des nativen Byte-Array-Prototyps erreicht, was sicherstellt, dass Entwickler Speicher und Datenstrukturen verwalten können, ohne auf umgebungsspezifische Implementierungen angewiesen zu sein. Das Toolkit enthält Utilities für den Endianness-bewussten Datenzugriff und die Durchführung von Zero-Copy-Slicing zur Manipulation von Speichersegmenten ohne Duplizierung von Payloads. Es unterstützt zudem breite Datenkompatibilität durch die Erleichterung von Konvertierungen zwischen Buffern, Typed Arrays und Blobs, was sicherstellt, dass Binärdaten über diverse Web-Interfaces und Speicherformate hinweg ausgetauscht werden können.
Uses underlying typed array views to manage raw binary memory buffers within the constraints of the browser environment.