sandermertens/flecs

A fast entity component system (ECS) for C & C++

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 19 minutes ago
Added to GitGenius on September 7th, 2026
Created on August 26th, 2018
Open Issues & Pull Requests: 52 (+0)
GitHub issues: Enabled
Number of forks: 620
Total Stargazers: 8,657 (+0)
Total Subscribers: 78 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.9 days
Mean response time: 36.6 days
90th percentile: 43.5 days
Tracked items: 151

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 80% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "question" is answered fastest, typically in about an hour, while "bug" waits about 4 days. Only 12% of issues opened in the past year have been closed. Three people close 91% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 25
New in 7 days: 5
Closed in 7 days: 10
Avg open age: 622 days
Stale 30+ days: 18
Stale 90+ days: 13

Recent activity

Opened in 7 days: 3
Closed in 7 days: 10
Comments in 7 days: 11
Events in 7 days: 29

Top labels

  • bug (103)
  • enhancement (34)
  • question (10)
  • needs-repro (3)
  • will take a while (2)
  • ci (1)
  • documentation (1)
  • duplicate (1)

Detailed Description

Flecs is a fast entity component system for C and C++ that organizes game and simulation logic around entities, components, and systems to handle millions of objects efficiently.

The tool solves the problem of managing complex game state and behavior by using an entity-component-system architecture where entities are unique identifiers, components are data types attached to entities, and systems are functions that operate on entities matching specific component queries. Flecs uses cache-friendly archetype and structure-of-arrays storage to process millions of entities per frame, with a lockless scheduler for multicore execution. The framework provides both a zero-dependency C99 API and a modern type-safe C++17 API that avoids STL containers, plus native support for entity relationships, hierarchies, and prefabs.

Flecs suits projects building games or simulations that need to scale to large entity counts while maintaining performance. The tool is portable across major compilers and platforms, runs in browsers via emscripten without modification, and supports automatic component registration across shared libraries. Developers should choose this framework if they need an ECS with built-in relationship support, a powerful query language with joins and inheritance, reflection capabilities with JSON serialization, and the ability to define components at runtime. The codebase compiles in under five seconds and includes a web-based UI for monitoring and controlling applications.

The project maintains comprehensive test coverage with over thirteen thousand tests across all major compilers and platforms. Development activity shows consistent attention to performance optimization and feature completeness, with integrated profiling tools and statistics addons for analyzing ECS performance. The framework includes extensive documentation through examples covering queries, systems, reflection, and serialization patterns.