[SciPy-Dev] Numpy and Scipy build with bento

David Cournapeau cournape at gmail.com
Sat Jun 18 05:31:28 EDT 2011


On Sat, Jun 18, 2011 at 8:47 AM, Pauli Virtanen <pav at iki.fi> wrote:
> On Fri, 17 Jun 2011 08:12:48 +0900, David Cournapeau wrote:
> [clip]
>> To try it, just get the bento_waf_build branch of scipy (on
>> github.com/cournape/scipy.git), and follow the instructions in
>> BENTO_BUILD.txt
>
> Seems to work nicely. Strange to see how much faster the compilation
> feels with four cores :)

It is cheating because the default flags are non-optimized ones, but
one can indeed expect a significant speed up.

> Some questions on waf integration and general strategy of Bento:
>
>
> (i)
>
> Can it be made work so that I can type
>
>    ./waf <some-command>
>
> This probably could be done with shipping some stuff in bento providing
> a boilerplate wscript, and would probably also solve the issue of
> supplying WAF_DIR.

It may be difficult because I would need for bento to integrate within
waf, whereas the opposite is simpler. Also, while numpy/scipy needs
customization, most python packages do not, and could get away with no
bscript file at all. In those cases, it should be possible to use waf
to build extensions without writing a single line of waf-specific
code.

I also feel like having bento "at the top" will help bento get
traction outside the scipy community, because it becomes simpler to
integrate with existing tools. For example, I realized that it is
actually possible write something like for existing packages using
distutils:

# setup.py
if USE_BENTO:
    from setup_bento import main
    main()
    sys.exit(0)

# Here the existing code using distutils
...

which has important implication for integration with virtualenv and
pip. I would rather write this kind of code once.

The WAFDIR issue is temporary, I can see various strategies to avoid this.

What advantages would you see in inverting the control ?

cheers,

David



More information about the SciPy-Dev mailing list