From 0b014090d245a3ac7b23dfaa6640ff3bd91cc512 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 3 Oct 2024 16:20:08 +0200 Subject: [PATCH] DPL Analysis: re-enable prefetching (#13559) Now that ROOT supports prefetching with bulk reading, we can reenable this which should cut in half the number of IOPS for the general case. --- Framework/Core/src/TableTreeHelpers.cxx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Framework/Core/src/TableTreeHelpers.cxx b/Framework/Core/src/TableTreeHelpers.cxx index 14e4a43ea6cba..780126c89dd85 100644 --- a/Framework/Core/src/TableTreeHelpers.cxx +++ b/Framework/Core/src/TableTreeHelpers.cxx @@ -547,14 +547,14 @@ void TreeToTable::addAllColumns(TTree* tree, std::vector&& names) if (mBranchReaders.empty()) { throw runtime_error("No columns will be read"); } - //tree->SetCacheSize(50000000); - // FIXME: see https://github.com/root-project/root/issues/8962 and enable - // again once fixed. - //tree->SetClusterPrefetch(true); - //for (auto& reader : mBranchReaders) { - // tree->AddBranchToCache(reader->branch()); - //} - //tree->StopCacheLearningPhase(); + // Was affected by https://github.com/root-project/root/issues/8962 + // Re-enabling this seems to cut the number of IOPS in half + tree->SetCacheSize(25000000); + tree->SetClusterPrefetch(true); + for (auto& reader : mBranchReaders) { + tree->AddBranchToCache(reader->branch()); + } + tree->StopCacheLearningPhase(); } void TreeToTable::setLabel(const char* label)