pycool evolution ( interactivity, dictionary, rootmap)

2
IT-SDC 29 th January 2014 A. Valassi – PyCool on ROOT6 1 Very old (as still done in ROOT5): Create .so with both interactive (python) and dictionary (I/O) information Very large selection.xml: many classes included in dictionary and rootmap Autoload .so into python using one of the classes in rootmap Current ROOT6 strategy (see 2013 Nov 27 meeting ) Use “interpreteronly” flag to remove dictionary (I/O) information from .so The .so only includes interactive (python) information – the headers for JIT Keep very large selection.xml: many classes included in rootmap Misunderstanding – I thought selection.xml was ignored because of “interpreteronly” Autoload .so into python using one of the classes in rootmap New ROOT6 strategy (still to be implemented in PyCool): Manually load .so into python – rootmap is no longer needed Use an empty selection.xml – no need to include any classes in rootmap OK also in the long term – selection.xml will be irrelevant to pcm creation Keep “interpreteronly” – even if empty selection file makes this ~irrelevant Different PyCool implementations for ROOT5 and ROOT6 This is something we already considered (and ~worked on) before using “interpreteronly” PyCool evolution (interactivity, dictionary, rootmap)

Upload: sondra

Post on 06-Feb-2016

36 views

Category:

Documents


0 download

DESCRIPTION

PyCool evolution ( interactivity, dictionary, rootmap). Very old (as still done in ROOT5): Create .so with both interactive (python) and dictionary (I/O) information Very large selection.xml: many classes included in dictionary and rootmap - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PyCool  evolution  ( interactivity, dictionary, rootmap)

IT-SDC 29th January 2014A. Valassi – PyCool on ROOT6 1

Very old (as still done in ROOT5): Create .so with both interactive (python) and dictionary (I/O) information Very large selection.xml: many classes included in dictionary and rootmap Autoload .so into python using one of the classes in rootmap

Current ROOT6 strategy (see 2013 Nov 27 meeting) Use “interpreteronly” flag to remove dictionary (I/O) information from .so

The .so only includes interactive (python) information – the headers for JIT Keep very large selection.xml: many classes included in rootmap

Misunderstanding – I thought selection.xml was ignored because of “interpreteronly” Autoload .so into python using one of the classes in rootmap

New ROOT6 strategy (still to be implemented in PyCool): Manually load .so into python – rootmap is no longer needed Use an empty selection.xml – no need to include any classes in rootmap

OK also in the long term – selection.xml will be irrelevant to pcm creation Keep “interpreteronly” – even if empty selection file makes this ~irrelevant Different PyCool implementations for ROOT5 and ROOT6

This is something we already considered (and ~worked on) before using “interpreteronly”

PyCool evolution (interactivity, dictionary, rootmap)

Page 2: PyCool  evolution  ( interactivity, dictionary, rootmap)

IT-SDC 29th January 2014A. Valassi – PyCool on ROOT6 2

Summary of ROOT6 pending issues in PyCool

Blocker: class _global_cpp has no attribute 'cool‘ (ROOT-5965) High: use empty PyCool selection.xml (bug #103298) – to be fixed

in COOL High: c++ exception propagation to Python (ROOT-5603) Medium: undefined std::transform (ROOT-5869 aka ROOT-5838) –

fixed? Medium: avoid deprecation warning (ROOT-5870) – to be fixed in

COOL

Low: wrong return code from failed ProcessLine (ROOT-5698) Low: Tok assertions if LLVMDEV is enabled (ROOT-5697)