Optimize performance
The current prototype is designed to be clear and easily maintainable. In this context, I have left around a large number of performance low-hanging fruits in terms of data structures, algorithmic complexity, and so on. Once the general design is approved, the prototype should be optimized before integration in experiments.