Improve memory usage of unaligned dataset joins in an RDataFrame analysis
I maintainer di solito rispondono entro 1 giorno
@enirolf ci sta già lavorando.
Dal 9/4/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Explain what you would like to see improved and how.
I had a short discussion with @vepadulano regarding one issue we see in RDataFrame.
We run on TTrees that we need to "join" with BuildIndex(). The problem is in our case the number of events we need to match is around 500M, this causes issues because the memory needed to keep the hash map for the matching is huge. This would be manageable on its own, but the problem is that each thread keeps the copy of the map. This results in our case of 40 threads using more than 120 GBs of memory (would need probably much more but this is the limitation of the hardware). As you can see this is pretty restrictive as the solution here is to either:
- Do not use that many threads
- Somehow split the files so you dont need to have a map of 500M entries
- "Just get more RAM"
These are not very compelling options.
We understand that this is probably beyond the scope of TTree and RDF support but this is something that could maybe improve for the RNtuple and RDF? As the current situation with TTrees is not sustainable
ROOT version
Any
Installation method
Any
Operating system
Any
Additional context
No response
- Lingua principale
- C++
- Stelle
- 3.3k
- Fork
- 1.6k
- Merge medio
- 2g 17h
- PR unite (30g)
- 188
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di root-project/root
-
thisroot.sh: wrong ROOTSYS in zsh when the shell's command line has a newlineForse già presa @dpiparo l’ha presa 4 giorni fa. Apertabug in:Build System
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
root-project/root#23746 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[tmva][sofie] Inputs of unsupported type (e.g. float16) give code that does not compile instead of an errorForse già presa @lmoneta l’ha presa 13 giorni fa. ApertaAI-Assisted bug in:SOFIE
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
root-project/root#23655 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[RDataFrame] Code that transforms `#var` alias to `R_rdf_sizeof_var` does not respect string literalsForse già presa @vepadulano l’ha presa 1 giorno fa. Apertabug in:RDataFrame
Difficoltà 3/5 1-2 giorni Idoneità per principianti 71/100
root-project/root#23790 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
TDataMember::GetOffset interfers to TDataMember::GetOffsetCintForse già presa @pcanal l’ha presa 1 giorno fa. Apertabug in:Core Libraries
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
root-project/root#23777 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
`TChain::GetEntries` internal caching ineffective?Forse già presa @pcanal l’ha presa 6 giorni fa. Apertaimprovement in:TTree
root-project/root#23738 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di root-project/root
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
telegramdesktop/tdesktop#31505 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
ll-builder shell completions omit existing lockfile commands and --lockedForse già presa @project-nju-learner l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
OpenAtom-Linyaps/linyaps#2291 ·
I maintainer di solito rispondono entro 1 giorno
-
area: ui bug P3: low value: low
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
patrick-hudson/put.gd-desktop#494 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
prestonbrown/helixscreen#1867 ·
I maintainer di solito rispondono entro 2 giorni