#ecs #gravitron #component #systems #parallel #execution #query

gravitron_ecs

A simple and performant ECS for Gravitron

5 unstable releases

0.3.0 Oct 29, 2024
0.2.0 Oct 2, 2024
0.1.2 Sep 13, 2024
0.1.1 Sep 13, 2024
0.1.0 Sep 12, 2024

#948 in Game dev

Download history 427/week @ 2024-09-09 111/week @ 2024-09-16 18/week @ 2024-09-23 131/week @ 2024-09-30 15/week @ 2024-10-07 14/week @ 2024-10-14 146/week @ 2024-10-28 19/week @ 2024-11-04 7/week @ 2024-11-18

172 downloads per month
Used in gravitron

MIT/Apache

62KB
2K SLoC

Gravitron ECS

Performant ECS for Gravitron

Features

  • Components with a derive macro
  • Systems as normal functions with queries to query the world, commands to modify entities and global resources
  • Ability for parallel execution with automatic detection for interference between systems and parallelizing optimization using RLF

Benchmarks

format: debug release

create entity

initial: 23ys 4ys average: 1.6ys 200ns

add component

initial: 11ys 2ys average: 1.2ys 140ns

get component

initial: 1.8ys 200ns average: 750ns 80ns

Dependencies

~3MB
~56K SLoC