<br><br><div class="gmail_quote">On Feb 11, 2008 9:24 PM, David Cournapeau &lt;<a href="mailto:cournapeau@cslab.kecl.ntt.co.jp">cournapeau@cslab.kecl.ntt.co.jp</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><div></div><div class="Wj3C7c">On Mon, 2008-02-11 at 20:42 -0700, Charles R Harris wrote:<br>&gt;<br>&gt;<br>&gt; On Feb 11, 2008 7:10 PM, David Cournapeau &lt;<a href="mailto:cournape@gmail.com">cournape@gmail.com</a>&gt; wrote:<br>
&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; On Feb 11, 2008 5:40 PM, Charles R Harris<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &lt;<a href="mailto:charlesr.harris@gmail.com">charlesr.harris@gmail.com</a>&gt; wrote:<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; On Feb 11, 2008 1:21 AM, Robert Kern &lt;<a href="mailto:robert.kern@gmail.com">robert.kern@gmail.com</a>&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; wrote:<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &gt; I&#39;ve just updated the SVN trunk to get the latest numscons<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; merge.<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &gt; Something broke the support I put in for the setuptools<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &quot;develop&quot;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &gt; command. In order to make sure that setuptools&#39; &quot;develop&quot;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; works with<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &gt; numpy.distutils&#39; &quot;build_src&quot;, we override the &quot;develop&quot;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; command to<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &gt; reinitialize the &quot;build_src&quot; command to add the --inplace<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; option. This<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &gt; used to work as of r4772, but now any Fortran Extensions<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; have the<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &gt; generated sources added twice. This causes links to fail<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; since the<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &gt; same symbol shows up twice.<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; While we&#39;re talking build, how do I set the compiler flags?<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; Numpy here<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; always compiles with -march=i386, which seems a bit<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; conservative. My<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; environment flags are also ignored, but I assume there is<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; someway of getting<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; the compile to behave.<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; Well, you assumed wrong :)<br>
&gt;<br>&gt; For some reason I was hoping you would pipe up &nbsp;:0) Yeah, that in<br>&gt; itself is a good reason for trying something like scons.<br><br></div></div>To be more exact: you can simply add flags in distutils. It is just that<br>
there is not much logic to handle different cases (e.g. having different<br>set of warnings for pyrex vs swig vs normal C extensions is difficult).<br><div class="Ih2E3d"><br>&gt; &nbsp;I note that with -O2 -finline-functions, or -O3, I can knock almost<br>
&gt; 30% off the string sort times. That&#39;s a lot better than I can do<br>&gt; fooling around with the code.<br><br></div>You should be able to do it just with numpy.distutils:<br><br>CFLAGS=&quot;-O2 -finline-functions&quot; setup.py build<br>
</blockquote><div><br>Curiously,&nbsp; CFLAGS=&quot;-O3 -finline-functions&quot; causes the -fno-strict-aliasing flag to disappear when the random module is compiled, resulting in a lot of warnings and, in my experience, probably buggy code generation. So a safer bet is CFLAGS=&quot;-O3 -finline-functions -fno-strict-aliasing&quot; .<br>
Chuck<br></div></div><br>