Axel Naumann
Nada FTE LLVM + cling would take 4 years when done, move to next hot-spot in ROOT Axel Naumann ROOT Team Meeting2
Lotsa FTEs: 1. Cling Spread benefits throughout ROOT: overhaul UpdateListOfClasses() etc remove rootmap (part of dictionary) use parser in TFormula, THtml,… Major: JIT compile serialization for given type: switch optimized away re-think TSelector: predict requested branches by looking at code Axel Naumann ROOT Team Meeting3
Lotsa FTEs: 2. Dynamic Builder Move from just-in-case to on-demand compilation can revolutionize software distribution / build chain / OS dump concept of shared libraries instead: collection of provided and missing symbols + prescription for building Axel Naumann ROOT Team Meeting4
Dynamic Builder major concept change for dynamic loader's symbol requests: only at call time (sort of like now with fPIC) can provoke compilation a bit like Java's ClassLoader enables Rene's BOOT: source doesn't need to be local Axel Naumann ROOT Team Meeting5
Dynamic Builder: Experiments build time reduced: only syntax and dependency checks load time reduced: cached symbol resolution (aka compilation) memory usage reduced: only code that's actually run Axel Naumann ROOT Team Meeting6
Dynamic Builder: Planning >= 3 years >= 2 people – needs computer scientist! could be independent of CINT / ROOT, but we would benefit and we have the tools! later: predictive JIT, use multicore network calls, e.g. for PROOF Axel Naumann ROOT Team Meeting7
The Group Thing vs. "CINT" G4 can benefit from interpreter interface serialization JIT compile navigator for defined geometry, no more "switch (nextsurface) {}" find more if / switch… that can be reduced at runtime! Axel Naumann ROOT Team Meeting8