9 مستودعات
Utilities that allow programs to inspect and manipulate data structures or types at runtime.
Distinguishing note: Focuses on runtime inspection of binary data without compile-time schema knowledge.
Explore 9 awesome GitHub repositories matching software engineering & architecture · Reflection Frameworks. Refine with filters or upvote what's useful.
FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require efficient, zero-copy data access. By organizing data in a structured binary format, it allows applications to read and write complex data structures directly from memory-mapped buffers without the need for intermediate parsing or temporary object allocation. The project distinguishes itself through a schema-driven approach that balances high-performance access with long-term data evolution. It utilizes a unique memory layout featuring relative offsets and inline fixed-size structu
FlatBuffers allows C++ developers to navigate and modify binary data at runtime without prior schema knowledge by loading binary definitions and using reflection functions.
LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of 2D and 3D games across desktop, mobile, and web environments from a single codebase. It functions as a comprehensive library that abstracts hardware-accelerated graphics, audio, input, and file system access, providing a unified interface for developers to manage game logic and application lifecycles. The framework distinguishes itself through a high-performance architecture that prioritizes efficiency and native interoperability. It utilizes a batch-oriented graphics pipelin
Supports dynamic inspection in restricted environments by generating static class information caches during compilation.
Cheat Engine is a software reverse engineering suite and memory editor designed for the Windows environment. It functions as a comprehensive platform for inspecting, analyzing, and modifying the internal logic and data structures of running applications. The tool provides capabilities for real-time memory scanning and manipulation, allowing users to locate and alter specific values within a process's address space. It distinguishes itself through advanced debugging features, including hardware-assisted debugging, kernel-mode driver injection for bypassing memory protections, and dynamic binar
Parses internal framework structures to reconstruct object hierarchies and method signatures for managed applications.
This project is a high-performance JSON library for Go, serving as a replacement for the standard encoding/json package. It provides a serialization engine for encoding and decoding data structures, alongside a schemaless parser for extracting specific values from JSON blobs using paths. The library distinguishes itself through a focus on reducing CPU and memory overhead. It implements a high-performance encoder that utilizes buffer reuse and reduced float precision to increase data throughput. Broad capability areas include data serialization, high-performance JSON processing, and schema-le
Analyzes Go struct types at runtime to build cached metadata for faster serialization and deserialization.
Mockery is a PHP framework designed for creating test doubles, stubs, and spies to facilitate isolated unit testing. It serves as a utility for simulating class behavior, intercepting method calls, and validating arguments, allowing developers to replace real dependencies with mock objects to verify that code components interact as intended. The framework distinguishes itself through advanced capabilities for handling complex testing scenarios, such as bypassing constructors, mocking protected methods, and intercepting static calls or internal object instantiations. It provides a fluent inter
Allows toggling internal metadata storage to resolve compatibility issues with static analysis or backup tools.
btrace هي أداة تتبع ديناميكية ومحلل أداء لـ JVM تُستخدم لحقن نصوص برمجية آمنة للقياس في جهاز Java الافتراضي قيد التشغيل دون الحاجة إلى إعادة تشغيل العملية. تعمل كإطار عمل لوكيل Java وخادم بروتوكول سياق النموذج (Model Context Protocol)، مما يعرض عمليات تشخيص JVM وأدوات التتبع لنماذج اللغات الكبيرة ومساعدي الذكاء الاصطناعي. يتميز المشروع بتمكين حقن الكود في الوقت الفعلي والقياس على مستوى البايت كود عبر بروتوكول ثنائي آمن. ويضمن استقرار الإنتاج من خلال محرك تحليل أمان ثابت يحظر أنماط الكود غير المستقرة، مثل الحلقات والتخصيصات، أثناء مرحلة تجميع النص البرمجي. يغطي النظام مجموعة واسعة من قدرات المراقبة، بما في ذلك تتبع تنفيذ الأساليب، وتتبع تخصيص الكائنات، ومراقبة الوصول إلى الحقول. كما يوفر تحليل الأداء عبر مقاييس التأخير وأخذ عينات بيانات التنفيذ، ويمكنه إصدار أحداث Java Flight Recorder مخصصة للتحليل الأصلي. يدعم الوكيل استراتيجيات نشر مرنة، بما في ذلك التمهيد عند بدء التشغيل أو الإرفاق بالعمليات الحية في البيئات الحاوية باستخدام حزم JAR الكبيرة.
Generates cached reflective dispatchers to minimize overhead when interacting with application classes.
Otto هو نظام اتصال قائم على الأحداث مصمم كحافلة أحداث لتطبيقات Android. يوفر آلية لفصل مكونات التطبيق عن طريق توجيه الأحداث بينها دون الحاجة إلى تبعيات مباشرة. النظام مدرك للحالة، مما يعني أنه يمكنه توفير أحدث قيمة معروفة للمشتركين الجدد فور التسجيل. يعمل كموزع أحداث متزامن، مما يضمن استجابة جميع المستمعين المسجلين لكائن ما قبل استمرار التنفيذ. تتضمن المكتبة إمكانيات لإدارة اشتراك الأحداث وفرض تنفيذ الخيوط لتقييد عمليات الاستدعاء بخيوط محددة. ويستخدم تعيين المشترك القائم على النوع لتنظيم المستمعين وفقاً لفئة الأحداث التي يتلقونها.
Uses Java reflection to identify and execute methods annotated as subscribers when events are published.
Fury هو إطار عمل تسلسلي ثنائي متعدد اللغات مصمم لتشفير كائنات المجال والرسوم البيانية المعقدة لتسهيل تبادل البيانات عبر اللغات. يتضمن مترجم لغة تعريف الواجهة (IDL) الذي يترجم تعريفات المخطط إلى أنواع أصلية اصطلاحية ونصوص تسلسلية عبر لغات متعددة. يتميز المشروع بقارئ ثنائي بدون نسخ (zero-copy) يسمح بالوصول إلى حقول محددة دون إلغاء تسلسل الكائن بالكامل، بالإضافة إلى مسلسل رسوم بيانية للكائنات يحافظ على المراجع الدائرية وسلامة المراجع. كما يتميز بمحول بيانات يحول البيانات الثنائية القائمة على الصفوف إلى تنسيقات Apache Arrow القائمة على الأعمدة لأحمال العمل التحليلية. يغطي إطار العمل مجالات قدرة واسعة بما في ذلك تطور المخطط القائم على البيانات الوصفية للتوافق للأمام وللخلف، وعملية تجميع AOT في وقت البناء للقضاء على الانعكاس في وقت التشغيل، وإلغاء التسلسل الآمن عبر التحقق من النوع القائم على القائمة البيضاء. كما يوفر تكاملاً لاستدعاءات الإجراءات عن بُعد عالية الأداء من خلال gRPC.
Reduces redundant type information by writing class metadata once per stream and using local index references.
هذا المشروع عبارة عن دليل برمجة أداء شامل ومرجع للغة Go، مع التركيز على كفاءة وقت التشغيل وتحسين الذاكرة. يوفر مجموعة من الأنماط والتقنيات المصممة لزيادة سرعة التنفيذ عن طريق تقليل حمل جمع القمامة (garbage collection) وتحسين استخدام الذاكرة. يتميز المورد بتنفيذات مرجعية مفصلة لتحسين الذاكرة، مثل تحليل الهروب (escape analysis)، وتجميع الكائنات (object pooling)، ومحاذاة ذاكرة الهياكل. ويقدم استراتيجيات محددة لتقليل حجم الملف الثنائي وتحسين كفاءة ذاكرة التخزين المؤقت للمعالج (CPU cache) من خلال تحسين تخطيط ذاكرة الهياكل واستخدام عناصر نائبة خالية من التخصيص. يغطي المشروع نطاقاً واسعاً من قدرات هندسة الواجهة الخلفية، بما في ذلك إدارة التزامن مع مجموعات العمال (worker pools) وبدائيات المزامنة، وRPC عالي الأداء وتوجيه HTTP، واستراتيجيات التخزين المؤقت الموزعة. كما يتضمن توجيهات حول الملاحظة من خلال تحليل أداء المعالج والذاكرة، بالإضافة إلى أنماط ضمان الجودة لاختبار الوحدات الوظيفية وتوليد الكائنات الوهمية (mock objects). يتم تنظيم المحتوى كسلسلة من البرامج التعليمية، والأمثلة المعمارية، وأدلة قياس الأداء لمساعدة المطورين على تحليل وإصلاح اختناقات الأداء.
Optimizes reflection performance by caching field name to index mappings to avoid repeated linear searches.