openPMD / openPMD-api

:floppy_disk: C++ & Python API for Scientific I/O
https://openpmd-api.readthedocs.io
GNU Lesser General Public License v3.0
134 stars 51 forks source link

Fix dirtyRecursive() performance for Series with many steps #1598

Closed franzpoeschel closed 3 months ago

franzpoeschel commented 4 months ago

~We currently do an error-check if users accidentally touched an Iteration that is currently closed. It seems like we'll need to stop doing that as it leads to O(n^2) runtime where n is the number of Iterations~ The check is still needed even in the regular logic, so the alternative was to make it more performant by tracking this information from the beginning.

Fix: Clear dirty files after flushing in ADIOS2

cc @ax3l