Thanks. However, some of those (logging.h) I guess are just for flushing the logfile to disk, not for flushing data to tape.
Do we know which of these have an impact on our CI performance?
To get a baseline, could you measure how long it takes to run all the CI tests with the stock mhVTL? (Run the tests 5+ times to average out statistical noise from the GitLab infrastructure).
Then we can compare with how long it takes with all the flush statements removed and how much we actually gain by using this hacked mhVTL version.
Most of the fflush() are there for debugging purposes (flush stdout). Currently doing a quick audit and will hide them behind a if (debug). The only fflush required is before a seek or media eject.
I suspect the one that is required is the one we care about, but let's see what he comes back with.
commit 01e1cacd73e78caed3b82d935de0f6bb7746cf5d (HEAD -> master, origin/master, origin/HEAD)Author: Mark Harvey <markh794@gmail.com>Date: Fri Jun 23 10:51:46 2023 +1000 only call fflush() while in debug mode.
We should build this version and test it in CI. If everything looks good, we can ask him to tag a new release. Then we can eliminate our homebrew version.