Specs is written in Rust, with low overhead and multithreading in mind. Virtual function calls are limited to a single one per system.
Aimed to be used in real-world application. It offers high flexibility in terms of component storages and system execution.
Using Specs means getting parallelism without thinking too much about it. The
Dispatcher automatically executes systems in parallel where possible.
The types are designed to be pluggable and easy to integrate. For example, the Dispatcher allows all sorts of magic for system execution, but you don’t have to use it. Instead, you can also write your own. Also, you can freely define new components because no macros are used for building the world.
Don’t hesitate to ask for help. We are happy to support you when using Specs. Just visit us on our Gitter channel.
The user can define own component storages and custom data for a system. To make this ergonomic, there’s even a custom derive implemented for this.