Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I wanted to use an ECS system in Haskell and I have found apecs and ecstasy. However, both seem to use IntMap for storing component data, so I figured that performance could not be all that great. That's why I created a new library, hero, which uses sparse sets for storing component data. Basic benchmarks seem to suggest that hero is roughly 40 times faster than apecs at iterating over components. The interface for hero is inspired by apecs, but there are some significant differences. The library is still rough around the edges, but you can already find it on https://github.com/Simre1/hero. I have also started work on an sdl2 binding which is in the same repository.
Sure. The hero-side bench is basically a copypasta, GStorable and stuff from hero using apecs-wrapped SparseSet.Storable instead.