{"repo":"AbsintheScripting/MetaFlow","free":true,"listed":false,"github":"https://github.com/AbsintheScripting/MetaFlow","clone":"git clone https://github.com/AbsintheScripting/MetaFlow.git","description":"Compile-time resource conflict analysis and lockless task scheduling for massively parallel game servers.","language":"C++","stars":26,"topics":["compile-time-annotation","compile-time-meta-programming","compile-time-reflection","cpp","cpp26","library","reflection","resource-management","scheduler","task-management"],"license":"MIT","category":"productivity","readme_excerpt":"MetaFlow A Compile-Time Resource Management System for Task Scheduling and Parallel Execution MetaFlow is a header-only C++26 library with three integrated components: a compile-time resource annotation system, a conflict-aware task scheduler, and a lock-free thread pool — everything you need to run parallel work safely without locks. You annotate read/write access on class members, and C++26 reflection turns those annotations into a compile-time NxN conflict matrix — every method-vs-method relationship resolved once at build time as a constexpr std::array , N . At runtime the scheduler uses it to build a per-tick dependency list in O(n count) bitset operations, where n is the number of tasks in the tick and count is the total number of registered methods — fixed at compile time as the bitset width. Your multi-threaded system doesn't need locks and executes tasks safely in parallel without conflicts. A complete example combining everything is available in the examples folder. Overview In a multi-threaded system, a resource collision occurs when multiple threads attempt to write the same resource simultaneously, or one thread is writing while another is trying to read it. To solve this problem, you can use mutexes, atomics, or a more sophisticated lock-free system that orders and schedules tasks to prevent collisions. This project provides the tools to distinguish between read and write access to resources, and a scheduler that turns that information into a parent-child depend","default_branch":null,"files":null,"tree":[],"storefront":"/r/AbsintheScripting","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/AbsintheScripting/MetaFlow/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}