core: improve Conflicts.checkSpacingRequirements
in stdcm context
#7650
Labels
area:core
Work on Core Service
difficulty:good first issue
Good for newcomers
module:stdcm
Short-Term DCM
Related to scaling stdcm with large timetables, see also https://github.com/osrd-project/osrd-confidential/issues/519
When checking if the added has conflicts in the current block, we do as follow:
Steps 3-4 are done this way to reuse conflict detection code, but they scale very poorly with large timetables. We end up spending half of the global computation time in this method.
The first obvious fix would be to pre-filter the requirements (see #7649) and it would help a lot, but I don't think it would be quite enough. We may have to write a different version of this method that doesn't check for every pair of conflict.
The text was updated successfully, but these errors were encountered: