{"repo":"Gesee-y/ReactiveECS.jl","free":true,"listed":false,"github":"https://github.com/Gesee-y/ReactiveECS.jl","clone":"git clone https://github.com/Gesee-y/ReactiveECS.jl.git","description":"Reactive ECS to reconcile modularity and performances","language":"Julia","stars":22,"topics":["ecs","gamedev","high-performance","julia","reactive-programming"],"license":"MIT","category":"game-templates","readme_excerpt":"ReactiveECS.jl v3: Reconciling Performance and Flexibility A high-performance, modular, event-driven and fragment-vector based ECS (Entity-Component-System) architecture written in Julia. Designed for game engines, simulations, or any data-oriented architecture needing maximum performances with extreme flexibility. It's already used by the highly flexible 2D/3D game engine Cruise.jl one of his core architecture --- Installation For development version --- Characteristics and Features - Fast : One of the fastest ECS in Julia, already outperforming some well-established C/C++ ECS. See this. - Unique memory layout : With a custom data structure named fragment vectors. - Maximum memory locality : Using partitions which are range of data, it makes sure entities are tighly packed in memory, allowing vectorization. - Efficient structural changes : With fragment vectors which allow fast entities/components add/remove. - Performant random access iteration : With optimized blocks iterators from fragment vectors. - Flexible : Add, remove, or chain systems at runtime, you can even inject a system in the middle of a chain. - Changes tracking : Optionally watch changes on a field of component. - Granular concurrency safety : Provides specialized tools like HierarchicalLock to help you cleanly manage concurrency. - Inherently ready for parallelism : Its partitioned table already acts as chunks for parallel processing with cycles detection. - Easy to use : Thanks to Julia’s powerful macros, ","default_branch":null,"files":null,"tree":[],"storefront":"/r/Gesee-y","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Gesee-y/ReactiveECS.jl/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."}