<br><br><div class="gmail_quote">On Nov 1, 2007 7:14 AM, David M. Cooke &lt;<a href="mailto:cookedm@physics.mcmaster.ca">cookedm@physics.mcmaster.ca</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Nov 1, 2007, at 08:56 , Francesc Altet wrote:<br><br>&gt; A Wednesday 31 October 2007, Timothy Hochberg escrigué:<br>&gt;&gt; On Oct 31, 2007 3:18 AM, Francesc Altet &lt;<a href="mailto:faltet@carabos.com">
faltet@carabos.com</a>&gt; wrote:<br>&gt;&gt;<br>&gt;&gt; [SNIP]<br>&gt;&gt;<br>&gt;&gt;&gt; Incidentally, all the improvements of the PyTables flavor of<br>&gt;&gt;&gt; numexpr have been reported to the original authors, but, for the
<br>&gt;&gt;&gt; sake of keeping numexpr simple, they decided to implement only some<br>&gt;&gt;&gt; of them. However, people is encouraged to try out the Pytables<br>&gt;&gt;&gt; flavor from:<br>&gt;&gt;<br>&gt;&gt; My original concern was that we&#39;d start overflowing the code cache
<br>&gt;&gt; and slow things down. Some experiments seemed to confirm this on some<br>&gt;&gt; processors, but it then turned out those were in error. At least<br>&gt;&gt; that&#39;s my recollection. Because of that, and because PyTables is, as
<br>&gt;&gt; far as I know, the major user of numexpr, I suspect I&#39;d be fine<br>&gt;&gt; putting those changes in now. I say &quot;suspect&quot; since it&#39;s been a long<br>&gt;&gt; time since I looked at the relevant patches, and I should probably
<br>&gt;&gt; look at those again before I commit myself. I just haven&#39;t had the<br>&gt;&gt; free time and motivation to go back and look at the patches. &nbsp;I can&#39;t<br>&gt;&gt; speak for David though.<br>&gt;<br></div>
<div class="Ih2E3d">&gt; If I remember correctly, another point where you (specially David)<br>&gt; were<br>&gt; not very keen to include was the support for strings, arguing that<br>&gt; numexpr is meant mainly to deal with numerical data, not textual.
<br>&gt; However, our experience is that adding this support was not too<br>&gt; complicated (mainly due to NumPy flexibility), and can be helpful in<br>&gt; some instances. &nbsp;As for one, we use them for evaluating expressions
<br>&gt; like &#39;array_string == &quot;some_string&quot;&#39;, and this can be very convenient<br>&gt; to use when you are in the middle of potentially complex boolean<br>&gt; expressions that you want to evaluate *fast*.
<br>&gt;<br>&gt; At any rate, we would be glad if you would like to integrate our<br>&gt; patches<br>&gt; in the main numexpr, as there is not much sense to have different<br>&gt; implementations of numexpr (most specially when it seems that there
<br>&gt; are<br>&gt; not much users out there). &nbsp;So, count on us for any question you may<br>&gt; have in this regard.<br><br></div>Well, I don&#39;t have much time to work on it, but if you make sure your<br>patches on the scipy Trac apply clean, I&#39;ll have a quick look at them
<br>and apply them. Since you&#39;ve had them working in production code, they<br>should be good ;-)<br><br>Another issue is that numexpr is still in the scipy sandbox, so only<br>those who enable it will use it (or use it through PyTables). One
<br>problem with moving it out is that Tim reports the compile times on<br>Windows are ridiculous (20 mins!). </blockquote><div><br>While this is true at the default optimization (O2), it compiles reasonably quickly at O1 and I&#39;ve never been able to detect a speed difference between versions compiled with O1 versus O2. It would probably be sufficient to crank back the optimization on Windows.
<br><br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Maybe numexpr should become a<br>scikit? It certainly doesn&#39;t need the rest of scipy.
<br><font color="#888888"><br></font></blockquote></div><br><br clear="all"><br>-- <br>. &nbsp;__<br>. &nbsp; |-\<br>.<br>. &nbsp;<a href="mailto:tim.hochberg@ieee.org">tim.hochberg@ieee.org</a>