[pypy-dev] cppyy on Ubuntu 14.04

wlavrijsen at lbl.gov wlavrijsen at lbl.gov
Mon Oct 6 19:43:01 CEST 2014


Jean-Paul,

to follow-up on what Toby already said ...

For us it's not so much differences between CPython and PyPy (there is cpyext,
after all). Even with CPython one has to deal with different Python versions,
and Reflex let's one get away from that.

The larger point is scaling. The idea behind something like SWIG (or even CFFI),
is that the authors of their own packages use it, and can customize it as needed
(because they are willing and able to do so). We OTOH need to throw a couple of
million lines of code at it, with no author support, and also have it all work
seamlessly. Full automation is then the only way to go.

Yes, Reflex is mature and supported, but part of ROOT, and not packaged
independently (other than the tar ball that the instructions point at). With
PyCintex.py (now called cppyy.py) it's even worse as it requires certain ROOT
libraries. Reflex is no longer developed, however.

(For bugs and other support, root.cern.ch is available.)

What we are working on is Cling (http://root.cern.ch/drupal/content/cling), which
is also mature and supported, but beyond that, it is actively being developed.
The benefits are support for C++14, and it being a true C++ compiler can munch
pretty much anything you throw at it, including massively templated boost headers
(there's a caveat for inline asm, which doesn't work, the rest is fine).

All our cycles, however, are being soaked up by migrating legacy C++ codes that
made use of the Reflex (and other deprecated) APIs directly. A lot of that code
is orphaned (no docs, tests, and authors unreachable). In ATLAS, we had two guys
working on that, but both have left, so I got pulled into that. Until the fog
clears on that account, there's little I can do to reduce dependencies and
repackage, simply due to lack of time.

But hey, it's all open source and the most restrictive license you'll run into
is LGPL (for ROOT code; the python bits can be made available under modified BSD).
So, if anyone does have spare cycles, they're more than welcome to contribute.

Best regards,
            Wim
-- 
WLavrijsen at lbl.gov    --    +1 (510) 486 6411    --    www.lavrijsen.net


More information about the pypy-dev mailing list