22 مستودعات
Strategies to reduce memory churn and garbage collection overhead through accumulators and destructive operations.
Distinct from Memory Allocation: Candidates focus on low-level C-style custom allocators; this is about high-level Lisp memory management strategies.
Explore 22 awesome GitHub repositories matching programming languages & runtimes · Memory Allocation Optimizations. Refine with filters or upvote what's useful.
This project is a technical reference and documentation suite focused on the internal architecture and operational principles of the Java Virtual Machine. It provides comprehensive guides and analysis on how the virtual machine manages class loading, memory organization, and bytecode execution. The documentation distinguishes itself by providing deep dives into specific runtime mechanisms, such as the binary decoding of class files, the hierarchical delegation model for class loaders, and the precise sequence of the loading, linking, and initialization lifecycle. It also details memory reclam
Details the use of native methods to manage memory outside the virtual machine heap for high-performance I/O.
This project is a collection of educational resources and technical guides focused on Go performance optimization. It provides instruction on improving execution speed and reducing memory usage through code and architectural refinements. The guides cover advanced strategies for low-level programming, including the use of assembly for SIMD instructions and unsafe pointers for direct memory manipulation. It also details concurrency optimization techniques such as lock sharding and cache-line padding to reduce contention and improve hardware utilization. The material encompasses broad capabilit
Guides the reduction of garbage collection pressure through optimized allocations and struct layouts in Go.
This project is a collection of software design patterns implemented in Go, serving as a technical reference and a set of practical programming examples. It maps theoretical architectural patterns to concrete code to demonstrate structural, creational, and behavioral coding techniques. The repository provides implementations for creational patterns focused on object instantiation and blueprint management, structural patterns for organizing object compositions, and behavioral patterns that manage object interactions and responsibilities. The content covers broad capability areas including in
Optimizes memory usage in Go by implementing the Flyweight pattern for immutable state sharing.
This project is a curated collection of guidelines and technical resources designed to improve C++ code safety, maintainability, and performance. It provides a comprehensive set of coding standards and best practices for establishing consistent naming, formatting, and structural patterns across C++ codebases. The guide offers specific technical advice on performance optimization, including methods for minimizing object copying, optimizing memory allocation, and reducing compilation cycles. It also provides a directory of tooling recommendations for implementing static analysis, fuzz testing,
Describes improving execution speed by preferring stack allocation and using smart pointer factories.
This project is a translated Go language style guide and programming standard. It provides a collection of coding standards and best practices designed to ensure that Go code remains maintainable, readable, and efficient. The guide focuses on idiomatic patterns for error handling, interface compliance, and memory optimization. It establishes standards for package naming and the use of functional options to maintain backward compatibility in constructors. It covers a broad range of capabilities, including concurrency management for coordinating process lifecycles and preventing resource leaks
Offers specific strategies for optimizing Go runtime memory usage and reducing GC pressure.
This project is a comprehensive Lisp AI implementation library that provides reference implementations for various artificial intelligence paradigms and symbolic algorithms. It functions as a multi-purpose toolkit containing a logic programming engine, a natural language processing suite, and a symbolic mathematics toolkit. The library is distinguished by its diverse architectural frameworks, including a Prolog-style execution engine that uses unification and goal-driven backtracking, and a system for simulating human decision-making through expert system shells and certainty factors. It also
Reduces garbage collection overhead by utilizing destructive operations and accumulators.
gops is a command-line diagnostic toolset for monitoring, profiling, and managing the runtime state of active Go applications. It functions as a runtime diagnostic tool that provides a focused interface for analyzing memory, profiling performance, and monitoring the health of running processes. The tool provides a set of specialized utilities including a performance profiler for capturing CPU and heap profiles, a memory analyzer for identifying leaks and triggering garbage collection, and a process monitor for discovering running binaries and visualizing process hierarchies. The project cove
Detects memory leaks and allows manual triggering of garbage collection cycles in active Go processes.
Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact binary format and restore them from bytes. It provides a system for creating deep or shallow copies of complex object graphs without requiring binary conversion. The project utilizes variable-length integer encoding and integer-ID class registration to reduce the size of serialized data. It handles complex object graphs through circular reference tracking to prevent data duplication and infinite loops. To maintain long-term data viability, it includes schema evolution managemen
Uses off-heap memory and direct buffers to bypass heap overhead and increase data throughput.
Go 101 is an unofficial, comprehensive knowledge base for the Go programming language, designed as a structured self-study resource covering syntax, semantics, best practices, and common pitfalls. It serves as a complete offline documentation system, installable as a local website that can be browsed without an internet connection, and includes a built-in HTTP server for serving the content locally. The project distinguishes itself through its depth and breadth of coverage, offering a structured book series that teaches Go fundamentals, a deep dive into the type system, and detailed guides on
Teaches how to manage memory blocks, layouts, and leaking scenarios to write memory-efficient Go code.
A light-weight REST API development framework for ASP.NET 8 and newer.
Keeps per-request memory allocation low, reducing garbage collection pressure and improving efficiency.
هذا المشروع عبارة عن دليل لتحسين أداء Ruby ومورد لإعادة الهيكلة. يوفر مجموعة من أنماط البرمجة التي تم قياس أدائها والمقارنات الاصطلاحية المصممة لزيادة سرعة التنفيذ وتقليل تخصيصات الذاكرة في تطبيقات Ruby. يركز المورد على تعيين بنيات اللغة الشائعة إلى مكافئاتها الأكثر كفاءة من الناحية الحسابية. ويستخدم تحليل التوقيت المقارن وتوصيف عدد التخصيصات لتحديد الاصطلاحات عالية الأداء التي تحل محل التعبيرات كثيفة الكائنات. يغطي المشروع ضبط وقت تشغيل التطبيق وإدارة الذاكرة من خلال تحديد الأنماط التي تقلل من عبء جمع القمامة (garbage collection). ويستخدم التطوير القائم على قياس الأداء لتقييم تأثير ميزات لغة معينة على ذاكرة النظام وسرعة التنفيذ.
Analyzes execution bottlenecks by comparing multiple Ruby idioms through repeated timing and allocation measurements.
sds هي مكتبة نصوص ديناميكية بلغة C توفر غلافاً لإدارة الذاكرة للنصوص المخصصة في الذاكرة العشوائية (heap). تنفذ المكتبة تخزيناً آمناً ثنائياً (binary-safe) عبر تتبع أطوال النصوص بشكل صريح، مما يسمح للمكتبة بالتعامل مع الأحرف الفارغة (null characters) داخل البيانات. تتميز المكتبة ببنية ذاكرة تستخدم مؤشرات دوال قابلة للتبديل للتخصيص والتحرير، مما يتيح دمج مديرات ذاكرة مخصصة. كما تستخدم تتبع الطول المخزن في الترويسة (header) لتوفير استرجاع للطول في زمن ثابت، وتحافظ على حشوة (padding) للنصوص المنتهية بـ null لضمان التوافق مع دوال النصوص القياسية في C. تغطي مجموعة الأدوات نطاقاً واسعاً من قدرات معالجة النصوص، بما في ذلك الربط، والتقسيم إلى رموز (tokenization)، والدمج، واستخراج النطاقات. كما توفر أدوات مساعدة لتعديل المخزن المؤقت في مكانه، مثل القص والتشذيب، وتتضمن بدائل محسنة لتنسيق النصوص بدلاً من دوال الطباعة القياسية.
Allows shrinking the allocated size of a string to match its actual content to optimize memory usage.
golang101 هو قاعدة معرفية شاملة ومكتبة مرجعية فنية للغة Go. يوفر أدلة ووثائق منظمة تغطي بناء جملة Go، وسلوك وقت التشغيل، وأنماط الترميز الاصطلاحية. يعمل المشروع كدليل مخصص لتحسين الأداء، حيث يقدم استراتيجيات فنية لتقليل تخصيصات الذاكرة، وتحسين جمع القمامة (Garbage collection)، وزيادة سرعة التنفيذ. كما يركز على نظام أنواع Go، بما في ذلك البرمجة العامة (Generics) وتقنيات المزامنة المتزامنة. تتضمن المكتبة قدرات أوسع لتعلم اللغة، بما في ذلك دراسة المؤشرات والواجهات، وتنفيذ البرمجة المتزامنة عبر القنوات والعمليات الذرية، واستخدام اختبارات فنية لاختبار كفاءة اللغة. تم تأليف المحتوى بلغة Markdown ويتم تقديمه كمكتبة وثائق لموقع ثابت يمكن تثبيتها واستضافتها على خادم محلي للتصفح دون اتصال بالإنترنت.
Provides educational content on controlling memory allocation between stack and heap to minimize growth and shrinkage cycles.
easyjson is a high-performance JSON serializer and memory-optimized parser for Go. It provides a reflectionless code generator that creates static Go methods for marshaling and unmarshaling data, eliminating the need for runtime reflection to improve execution speed. The library reduces CPU and memory overhead through several optimization strategies. It employs a system of reusable memory buffer pools to minimize heap allocations and garbage collection pressure. Additionally, it utilizes string interning to deduplicate repeated values and zero-copy string referencing to point to existing buff
Implements a parser that reduces allocations through string interning and reusable memory buffer pools.
graphql-go is a schema-first GraphQL library and server implementation for Go. It provides a query execution engine and schema parser that converts schema definition strings into executable structures and validates resolver signatures. The library also includes a streaming implementation for real-time GraphQL subscriptions using channels within resolvers. The project distinguishes itself through parallel resolver execution to reduce request latency and the use of buffer-pool memory management to lower garbage collection overhead. It enables the creation of cloneable schema instances from a sh
Reduces garbage collection overhead by reusing internal temporary buffers and managing memory pools during execution.
هذا المشروع عبارة عن مرجع تقني ومجموعة من ملاحظات التحليل الداخلي التي تركز على وقت تشغيل لغة Go والمترجم. يوفر تفصيلاً دقيقاً للغة من الداخل، ويغطي إدارة الذاكرة، وجمع القمامة، ونموذج تنفيذ المجدول. تتميز المادة بتوفير غوص عميق في تفاصيل النظام منخفضة المستوى، بما في ذلك مرجع لتعليمات تجميع Go، واستخدام السجلات، وواجهة استدعاء النظام. ويحلل بشكل خاص التنفيذ الداخلي لبدائيات التزامن، مثل آلية جدولة الروتينيات (goroutine)، وعمليات القنوات، وتنفيذ قفل الميوتكس (mutex). يمتد التغطية إلى نظرية بناء المترجم، بما في ذلك التحليل المعجمي والنحوي، بالإضافة إلى آليات نظام النوع وإدارة الواجهة. كما يفصل تقنيات تحسين الأداء المختلفة، وأدوات تشخيص وقت التشغيل لتتبع المكدس، وبدائيات إدخال/إخراج الشبكة.
Documents memory optimizations used in maps to reduce GC scanning and overhead.
This project is a technical programming guide and educational resource focused on Go internals, runtime mechanisms, and advanced language features. It provides detailed conceptual analysis of the language's execution model, including its scheduler, memory escape analysis, and garbage collection mechanisms. The material distinguishes itself through deep dives into high-concurrency system design, exploring the implementation of worker pools and communication channels. It also covers low-level network programming with a focus on I/O multiplexing and TCP state management, alongside a study of dis
Provides educational analysis on the differences between stack and heap allocation to optimize memory initialization.
هذا المشروع عبارة عن دليل برمجة أداء شامل ومرجع للغة Go، مع التركيز على كفاءة وقت التشغيل وتحسين الذاكرة. يوفر مجموعة من الأنماط والتقنيات المصممة لزيادة سرعة التنفيذ عن طريق تقليل حمل جمع القمامة (garbage collection) وتحسين استخدام الذاكرة. يتميز المورد بتنفيذات مرجعية مفصلة لتحسين الذاكرة، مثل تحليل الهروب (escape analysis)، وتجميع الكائنات (object pooling)، ومحاذاة ذاكرة الهياكل. ويقدم استراتيجيات محددة لتقليل حجم الملف الثنائي وتحسين كفاءة ذاكرة التخزين المؤقت للمعالج (CPU cache) من خلال تحسين تخطيط ذاكرة الهياكل واستخدام عناصر نائبة خالية من التخصيص. يغطي المشروع نطاقاً واسعاً من قدرات هندسة الواجهة الخلفية، بما في ذلك إدارة التزامن مع مجموعات العمال (worker pools) وبدائيات المزامنة، وRPC عالي الأداء وتوجيه HTTP، واستراتيجيات التخزين المؤقت الموزعة. كما يتضمن توجيهات حول الملاحظة من خلال تحليل أداء المعالج والذاكرة، بالإضافة إلى أنماط ضمان الجودة لاختبار الوحدات الوظيفية وتوليد الكائنات الوهمية (mock objects). يتم تنظيم المحتوى كسلسلة من البرامج التعليمية، والأمثلة المعمارية، وأدلة قياس الأداء لمساعدة المطورين على تحليل وإصلاح اختناقات الأداء.
Provides strategies for reducing garbage collection overhead through escape analysis, object pooling, and struct alignment.
TheHive is a security incident response platform and multi-tenant case management system. It functions as a Security Orchestration, Automation, and Response (SOAR) tool and a threat intelligence platform designed to coordinate security investigations by managing alerts, cases, and observables. The platform is distinguished by its multi-tenant architecture, which isolates data across different organizations while supporting selective cross-tenant sharing. It features a SOAR automation engine capable of executing sandboxed JavaScript logic to automate workflows and trigger response actions thro
Sets explicit heap sizes for system components to prevent resource contention and optimize memory.
yyjson is a high-performance C library for parsing, serializing, and manipulating JSON data structures. It functions as a memory-efficient data tool that utilizes custom memory pools and contiguous block allocation to minimize fragmentation and overhead. The project distinguishes itself as a SIMD JSON processor, using hardware-accelerated vector instructions for rapid string validation and parsing. It provides a toolkit for querying, modifying, and patching nested JSON objects and arrays through pointer-based access and path expressions. The library covers a broad range of data manipulation
Implements custom memory pools and contiguous block allocation to minimize fragmentation and memory overhead.