Skip to content
Snippets Groups Projects
Commit 7dec9bd9 authored by Enric Tejedor Saavedra's avatar Enric Tejedor Saavedra
Browse files

Implementation of TTreeProcessor::Process.

This commit provides an implementation of a new implicit multi-threading
(IMT) use case, incarnated in method TTreeProcessor::Process.

TTProcessor::Process allows to process the entries of a TTree in parallel.
The user provides a function that receives one parameter, a TTreeReader,
that can be used to iterate over a subrange of entries. Each subrange
corresponds to a cluster in the TTree and is processed by a task, which
can potentially be run in parallel with other tasks.

In order to enable this new IMT use case, other changes are introduced:
- Global flag to enable this IMT use case (enabled implicitly inside
TTProcessor::Process).
- Spin lock implementation of a Read-Write lock.
- RW lock protection in TFile, activated only when calling
TTProcessor::Process.
parent 4e44a84b
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment