Source: scipy
Followup-For: Bug #1020561

I appreciate the dilemma, but I think we won't be able to avoid it.

As you noticed, it's not scipy that needs c++, it's pythran.  pythran
is recommended by scipy developers upstream. The purpose of pythran is
to accelerate scipy execution by runtime generation of optimized
machine code for particular functions and algorithms.

The way pythran works is that it generates at runtime a C++ code block
to replace the scipy operatoin in question. The piece of code is then
compiled to furnish the machine code that provides the acceleration,
taking advantage of CPU optimisations for the local processor that
scipy is running on.

So availability of a C++ compiler is intrinsic to the way pythran
operates.

To avoid the C++ compiler then, the choice would have to be to not use
pythran with scipy.

But the speed-up advantage provided by pythran is supposed to be
substantial.  In the trade-off between disk storage and execution
performance, disk storage comes second to performance.

Unfortunately as far as I know we don't have the facility to choose
whether to use pythran or not at runtime.  The scipy binary package
has to be configured at build-time to either use pythran, or not use
it at all.

I don't think we want to stop using pythran with scipy. But the cost
of using it is the requirement to make the C++ compiler available.

Reply via email to