Performance - Gur-Lal/TransitSync GitHub Wiki

Performance

Performance goals and how they will be measured.

Operation or scenario Target How we will measure it
Start a simulation Simulation begins within 2000 ms after the user starts it Measure the time between clicking Start and the first simulation state being displayed
Change simulation parameters Updated parameters are applied within 1000 ms Measure the time between confirming a parameter change and the updated simulation state being available
Simulation playback Playback maintains approximately 30 FPS during normal scenarios Monitor the frame rate while the simulation is running
Play, pause, rewind, and speed controls Controls respond within 500 ms Measure the time between the user action and the corresponding playback change
Run a full-day simulation Full-day simulation completes within 30 000 ms under the expected simulation size Measure the time from starting the simulation to the completion of the full-day results
Process passenger transfers Transfer events are processed without noticeable interruption during playback Test simulations with the expected passenger volume and monitor processing time
Introduce train delays Delay scenarios are incorporated within 2000 ms of being applied Measure the time required to update train movements and passenger connections
Display simulation results Results appear within 2000 ms after simulation completion Measure the time between simulation completion and results being displayed

Planned improvements

  • Optimize the simulation engine if processing times exceed the defined targets.
  • Improve data processing for larger passenger and train volumes.
  • Optimize visualization and playback to maintain smooth performance.
  • Reduce unnecessary calculations during simulation playback.
  • Use performance testing to identify bottlenecks as new simulation features are added.
  • Re-evaluate performance targets as the simulation becomes more complex.