Open
Description
We should investigate and profile our performance of Series
open (especially with READ_ONLY
and READ_WRITE
, but also with CREATE
on truncation: #483).
Most crucial with file-based series, I have the subjective feeling they are slower than they need to be, already in serial mode.
We might need to clearly define also in this step, what we check and assume when opening a series (aka contract). The less assumptions the better, if you ask me. For example, I would not expect the data of each iteration nor it's names or layouts to be required to match. (Although some applications, such as our openPMD-viewer GUI, will benefit if we later on provide an auxiliary scan
-like list summary for records in all iterations.)
Resources
Maybe some useful resources:
scandir()
inag
- benchmarking idea
tracefile
(strace
maybe expand to measuretime
spend; or even easier: add time log [WIP] spdlog for multi-level multi-sink logging #462 to profile ourauxiliary::Filesystem
operations)