Skip to content

flukejones/ecs_bench

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

125 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Benchmarks of various Rust Entity Component Systems

Notes:

  • if a bench is written in the idiomatic way for an ECS, please let me know
  • there will be more benches added soon
  • the old parallel benches have been removed for now
  • some older ECS that have not seen maintenance in over 3+ years are removed

Benchmarks

Benchmarks are run on Travis CI.

Benchmarks are located in benches/[bench_name]_[ecs_crate_name].rs.

Library pos_vel build pos_vel update
legion 538 µs/iter (+/- 83) 1 µs/iter (+/- 0)
tiny_ecs 290 µs/iter (+/- 9) 10 µs/iter (+/- 0)
hecs 375 µs/iter (+/- 34) 4 µs/iter (+/- 0)
specs 319 µs/iter (+/- 27) 3 µs/iter (+/- 0)
froggy 307 µs/iter (+/- 10) 9 µs/iter (+/- 0)
constellation 226 µs/iter (+/- 29) 6 µs/iter (+/- 0)

Visualization of benchmarks, smaller is better. update benchmarks graph build benchmarks graph

pos_vel

  • 1000 entities with position and velocity components
  • 9000 entities with position components only
  • stub render system
  • physics system: position += velocity

Notes

  • the benchmarks explore a limited subset of ECS use-cases and do not necessarily reflect the performance of large-scale applications
  • froggy is technically not an ECS, but a Component Graph System (CGS)

About

Benchmarks of various Entity Component Systems in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 73.0%
  • Python 27.0%