24 مستودعات
Optimized data storage structures for cache-efficient processing.
Distinguishing note: Focuses on low-level memory organization rather than high-level database management.
Explore 24 awesome GitHub repositories matching data & databases · Memory Layouts. Refine with filters or upvote what's useful.
Pandas is a high-performance data analysis library that provides a comprehensive framework for manipulating, cleaning, and transforming structured datasets. It centers on labeled one-dimensional and two-dimensional data structures, allowing users to construct, filter, and reshape tabular information while performing complex arithmetic and logical operations. The library distinguishes itself through a sophisticated indexing engine that enables automatic data alignment during calculations and relational merges. By utilizing a block-based memory layout, it optimizes cache locality for vectorized
Provides contiguous memory block storage to optimize cache locality and vectorized operations.
NumPy is a foundational library for scientific computing in Python, providing a comprehensive framework for managing and manipulating large-scale numerical information. It centers on high-performance multidimensional array objects that serve as the primary data structure for complex mathematical operations and data analysis workflows. The library distinguishes itself through specialized mechanisms for handling multidimensional data, including advanced indexing, slicing, and broadcasting techniques that allow for efficient operations across arrays of varying shapes. It utilizes strided metadat
Uses strided metadata to enable efficient, zero-copy slicing of multidimensional arrays.
This project is a machine learning array framework and tensor computation library designed for high-performance numerical computing. It provides a comprehensive suite of tools for constructing and training neural networks, featuring an automatic differentiation engine that facilitates gradient-based optimization and complex mathematical modeling. The library distinguishes itself through a unified memory architecture that allows data to be shared across CPU and GPU devices without explicit copies, significantly reducing data movement overhead. Its execution model relies on a lazy evaluation en
Forces arrays into row-major memory layouts to ensure alignment and compatibility.
This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction layer for rendering and parallel processing. It enables developers to build high-performance applications that execute consistently across diverse operating systems and hardware backends, including Vulkan, Metal, and DirectX. By mapping high-level graphics commands to native APIs, it serves as a portable foundation for both real-time 3D rendering and general-purpose GPU computing. The framework distinguishes itself through a robust architecture that supports both native deskt
Configures alignment and padding of vertex, index, and uniform data structures for hardware-specific memory requirements.
Arrow is a cross-language development platform for in-memory data. It provides a standardized, language-independent columnar memory format designed to accelerate analytical operations and improve memory efficiency on modern computing hardware. By utilizing a schema-driven approach, the framework enables the efficient organization of both flat and nested data structures. The project functions as an analytical data processing engine that facilitates high-performance computation directly on memory-resident datasets. It distinguishes itself through a zero-copy architecture, which allows multiple
Organizes data in contiguous memory blocks to maximize CPU cache efficiency and enable vectorized processing.
SciPy is a scientific computing library for Python that provides a comprehensive collection of mathematical algorithms and numerical tools for research and engineering. It functions as a high-performance numerical analysis framework, bridging high-level Python code with compiled C and Fortran routines to execute complex computations at hardware speeds. The library is built upon array-based data structures that utilize strided memory layouts to enable efficient data manipulation and slicing. By employing vectorized operation dispatch and linking to optimized hardware-specific linear algebra li
Utilizes strided memory layouts to enable efficient slicing and manipulation of multidimensional data without copying.
This project is a curated collection of programming exercises designed to build proficiency in numerical computing and data manipulation. It provides a structured learning path for mastering multidimensional array operations, vectorized arithmetic, and statistical analysis. The repository focuses on developing practical expertise in array-based workflows, emphasizing techniques such as memory management, efficient data processing, and the replacement of explicit loops with vectorized operations. Users engage with hands-on challenges that cover the full lifecycle of numerical data, from initia
Organizes data into user-defined fields within contiguous memory blocks to represent complex records.
Odin is a compiled, statically typed systems programming language designed for high-performance software development. It focuses on pragmatic low-level memory control, providing a toolset for manual memory management and precise control over hardware utilization. The language is distinguished by its flexible memory model, which includes custom allocators and precise data layout capabilities to optimize resource usage. It features a comprehensive foreign function interface for importing assembly files and linking with external libraries using configurable calling conventions. The type system
Enables efficient data packing using bit fields and specific record layouts for cache-efficient processing.
cuDF is a GPU-accelerated dataframe library and data processing engine designed for manipulating and analyzing large tabular datasets. It provides a high-level API for executing filtering, joining, and aggregating operations directly on GPU hardware. The project integrates the Apache Arrow memory format to enable zero-copy data transfers and includes a just-in-time compiler for executing custom user-defined functions on the GPU. The library features specialized acceleration for existing workflows by redirecting standard Pandas dataframe calls and Polars query plans to a GPU backend. It also p
Implements optimized columnar memory layouts to maximize GPU bandwidth and SIMD execution efficiency.
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
Implements strided memory layouts to manipulate tensor dimensions and shapes without duplicating data buffers.
Vaex is a high-performance Apache Arrow DataFrame library and out-of-core data processing engine designed to handle billion-row tabular datasets in Python. It functions as a lazy evaluation framework that defers computations and transformations until results are required, enabling the processing of datasets that exceed available system RAM by mapping files directly from disk. The project distinguishes itself as a tool for big data visualization and exploration, specifically integrated for use within interactive notebooks. It provides specialized capabilities for machine learning feature engin
Implements an Apache Arrow columnar memory layout to enable high-speed data access and efficient interoperability.
FastImageCache is an iOS image caching library that provides a persistent disk-based image store. It utilizes a persistent bitmap cache to store images in uncompressed formats and incorporates an image pre-processing pipeline to optimize assets before they are committed to storage. The library optimizes rendering performance by using memory-mapped image tables for constant-time retrieval and byte-aligned data layouts to prevent memory copies. It organizes images of identical dimensions into shared tables and manages disk space through a least-recently-used cache eviction system. The project
Optimizes rendering performance by aligning image rows to memory boundaries to prevent expensive memory copies.
go-tools is a collection of utilities for Go static analysis and memory layout optimization. It provides a toolset designed to analyze source code to detect bugs and dead code, alongside specialized tools for optimizing how structs are arranged in memory. The project includes a memory alignment visualizer to display physical memory layouts and padding, as well as a struct layout optimizer that reorders fields to minimize memory padding. Additionally, it provides a boilerplate generator to automate the creation of registration and test files required for developing custom Go analyzers. The to
Provides a utility for inspecting memory alignment, field sizes, and padding of Go structs.
Provides native handling of interleaved, planar, and custom memory layouts without data copying.
هذا المشروع عبارة عن مجموعة شاملة من مكتبات وأدوات C++ توفر تطبيقات مرجعية لهياكل البيانات، وخوارزميات الرسوم البيانية، والمنطق الثنائي (bitwise logic). يعمل كمرجع لخوارزميات C++ يحتوي على أكثر من 180 مسألة برمجية محلولة ومجموعة أدوات متخصصة للبرمجة التنافسية. يتميز المستودع بمكتبات واسعة النطاق لمعالجة البتات منخفضة المستوى لفحوصات التكافؤ، واكتشاف ترتيب البايتات (endianness)، والمنطق القائم على XOR. كما يوفر مجموعة واسعة من الحلول المرجعية للتحديات الخوارزمية المعقدة التي تتضمن التراجع (backtracking)، ونظرية الرسوم البيانية، والبرمجة الديناميكية. تغطي مساحة القدرات منظمات البيانات الخطية والهرمية الأساسية، بما في ذلك القوائم المرتبطة، والمكدسات، والطوابير، وأشجار البحث الثنائية. يتضمن مجموعة كاملة من خوارزميات الرسوم البيانية للبحث عن المسارات والأشجار الممتدة، وطرق متنوعة للفرز والبحث، وتحويلات المصفوفات، وأدوات معالجة النصوص. بالإضافة إلى ذلك، يغطي الدوال الحسابية الرياضية، وضغط البيانات بدون فقدان، وشفرات التشفير الأساسية.
Implements byte order reversal to convert data between big-endian and little-endian representations.
Magnum هي مجموعة برمجيات وسيطة C++ لتطوير الرسومات عبر الأنظمة الأساسية وتصور البيانات في الوقت الفعلي. توفر طبقة تصيير مستقلة عن الأجهزة تترجم أوامر الرسومات إلى استدعاءات خاصة بالمنصة، مما يضمن سلوكاً متسقاً عبر برامج تشغيل GPU وواجهات برمجة تطبيقات مختلفة مثل Vulkan. يركز المشروع على فصل منطق التطبيق عن الأجهزة الأساسية من خلال رسومات مجردة ومرافق النظام. يتميز بمستورد موارد قائم على المكونات الإضافية للأصول ثلاثية الأبعاد والصوت، ورسم بياني للمشهد الهرمي للتحولات المكانية، ونظام أحداث قائم على الإشارة عالي الأداء للاتصال. تشمل القدرات الواسعة الجبر الخطي ورياضيات المتجهات، ومعالجة هندسة الشبكة، وإدارة سياقات GPU. تغطي مجموعة الأدوات أيضاً تشغيل الصوت المكاني، وتكامل أجهزة VR، وتحسينات الذاكرة منخفضة المستوى مثل التخطيطات المتباعدة والتخصيصات المحاذاة. يمكن دمج المكتبة في المشاريع الأصلية كمشروع فرعي CMake.
Organizes interleaved data into contiguous blocks and strided views to enhance data locality and SIMD efficiency.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Controls bit-level data layout for big-endian and little-endian storage and overlapping ranges.
nalgebra هي مكتبة جبر خطي لـ Rust توفر عمليات المصفوفات والمتجهات مع دعم للأبعاد في وقت التجميع ووقت التشغيل. تعمل كمكتبة للتحليل العددي ومكتبة للمصفوفات المتفرقة (Sparse matrix)، حيث توفر إطاراً رياضياً قادراً على العمل في البيئات المضمنة وWebAssembly دون الحاجة إلى مكتبة Rust القياسية. يتميز المشروع كمكتبة للتحويلات الهندسية، حيث يستخدم الإحداثيات المتجانسة، والكواتيرنيون، والقياسات المتساوية للتعامل مع الدورانات ثلاثية الأبعاد، والترجمات، والإسقاطات. ينفذ مجموعة متنوعة من تحليلات المصفوفات - بما في ذلك LU، وQR، وCholesky، وSVD، والتحليل الذاتي - لحل الأنظمة الخطية وتحليل المصفوفات. تغطي المكتبة مجالات قدرات واسعة بما في ذلك الحوسبة الهندسية للتحويلات المكانية، وأدوات رسومات الكمبيوتر لتكوين مصفوفة الإسقاط وتصدير بيانات التظليل، وإدارة المصفوفات المتفرقة المتخصصة باستخدام تخزين الصفوف والأعمدة المضغوط. كما توفر أدوات إدارة البيانات لتهيئة المصفوفات، وتغيير حجمها، وتحليل ملفات Matrix Market.
Provides non-owning references to matrix sub-sections using memory offsets to avoid data copying.
ndarray هي مكتبة مصفوفات متعددة الأبعاد لـ Rust تعمل كإطار عمل للجبر الخطي وأداة للحوسبة العلمية. توفر البنية التحتية الأساسية لإنشاء ومعالجة المصفوفات n-الأبعاد، وتعمل كمعالج مصفوفات متوازي ومجموعة أدوات لتحليل البيانات الرقمية. تتميز المكتبة بتوفير تقطيع (slicing) وعروض ذاكرة فعالة، مما يسمح بمشاركة البيانات دون نسخ. تستفيد من مكتبات الرياضيات الخلفية المحسنة لضرب المصفوفات عالي السرعة وتوزع التكرارات الرياضية الثقيلة عبر خيوط CPU متعددة لتسريع المعالجة. يغطي المشروع مجموعة واسعة من العمليات الرياضية، بما في ذلك الحساب العنصري، وتجميع البيانات القائم على المحور، وحسابات الضرب النقطي. كما يتضمن أدوات شاملة لمعالجة المصفوفات مثل إعادة التشكيل، والتسطيح، والتكديس، وتوليد شبكة الإحداثيات، إلى جانب دعم توليد المصفوفات العشوائية والتسلسل.
Maps multidimensional indices to flat memory buffers using axis-specific step sizes for efficient zero-copy slicing.
NumCpp هو إطار عمل C++ ومكتبة للحوسبة العددية توفر مجموعة أدوات لإدارة المصفوفات متعددة الأبعاد والروتينات الرياضية. يعمل كتطبيق C++ لنظام NumPy، حيث يوفر إطار عمل للحوسبة العلمية لإدارة الموترات (tensors) وإجراء المعادلات الجبرية المعقدة. يُمكّن المشروع من معالجة المصفوفات عالية الأداء داخل بيئة C++ دون الاعتماد على وقت تشغيل Python. ويتميز بتوفير واجهة تشبه NumPy لتنفيذ الجبر الخطي، وإدارة هياكل البيانات متعددة الأبعاد، وإجراء المعالجة العددية. تغطي المكتبة مجموعة واسعة من القدرات، بما في ذلك العمليات الجبرية للمصفوفات، وإدارة هندسة المصفوفات من خلال التقطيع وإعادة التشكيل، وتوليد التوزيعات العشوائية. كما تتضمن أدوات لتحليل مجموعات البيانات، وإحصائيات المصفوفات، واستيراد وتصدير البيانات العددية عبر تنسيقات ثنائية ونصية.
Utilizes strided memory mapping to allow efficient array reshaping and slicing without copying data.