A Thursday 10 September 2009 11:11:22 Sturla Molden escrigué:
> Citi, Luca skrev:
> > That is exactly why numexpr is faster in these cases.
> > I hope one day numpy will be able to perform such
> > optimizations.
>
> I think it is going to require lazy evaluation. Whenever possible, an
> operator would just return a symbolic representation of the operation.
> This would gradually build up a tree of operators and buffers. When
> someone tries to read the data from an array, the buffer is created
> on-demand by flushing procratinated expressions. One must be sure that
> the buffers referenced in an incomplete expression never change. This
> would be easiest to ensure with immutable buffers.  Numexpr is the kind
> of  back-end a system like this would require.  But a lot of the code in
> numexpr can be omitted because Python creates the parse tree; we would
> not need the expression parser in numexpr as frontend. Well... this plan
> is gradually getting closer to a specialized SciPy JIT-compiler. I would
> be fun to make if I could find time for it.

Numexpr already uses the Python parser, instead of build a new one.  However 
the bytecode emitted after the compilation process is different, of course.

Also, I don't see the point in requiring immutable buffers.  Could you develop 
this further?

-- 
Francesc Alted
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to