<div dir="ltr"><div><div><div>I just want to add that it is not uncommon for python code to call subroutines written in c/c++ in cases where speed is an issue.<br></div>So software can be written in effective combinations of python and c/c++.<br>

</div>Python code can be inefficient compared to c/c++, but pure c/c++ code can also be written inefficiently.<br>As I understand, part of the current review process requires that the c/c++ be well written and adequately efficient.<br>

Perhaps it could be part of the review process of submissions of python code to require that certain subroutines be written in c/c++ for efficiency.<br></div><div>In general, python code is more compact and easier to understand, which could potentially make the code easier for review.<br>

 <br></div><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 6, 2013 at 10:30 AM, Miguel Colom <span dir="ltr"><<a href="mailto:colom@cmla.ens-cachan.fr" target="_blank">colom@cmla.ens-cachan.fr</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Quoting Nicolas Limare <<a href="mailto:nicolas.limare@cmla.ens-cachan.fr">nicolas.limare@cmla.ens-cachan.fr</a>>:<br>


>> A parallelized C/C++ as those we have in the current IPOL<br>
>> publications are complete programs that once compiled run at their<br>
>> fastest speed using CPU native instructions.<br>
>> They're only limited by the power of the machine where the run on.<br>
><br>
> I am no very sure of that, Miguel. We could also say that they are<br>
> very limited by the skills of the developper in low-level<br>
> optimizations. And sometimes the Python/NumPy internals will be better<br>
> coded than a researcher's C code, and the python version could be<br>
> faster. I'll try with a (simplistic) code of mine, to have some<br>
> numbers for a comparison.<br>
<br>
</div>Yes, I think that it's an easy check: to look in the published code<br>
for operations (patch comparisons, and so on) that in principle are<br>
not handled by libraries, since they're the algorithm code.<br>
<br>
All these code is likely to slow down the execution of the algorithm<br>
in it's Python version.<br>
<br>
However, I'm not saying that we should oppose to the use of Python<br>
code. We have to study the pros and cons and decide accordingly.<br>
<br>
Python is a very good language and many people use it for scientific<br>
computations. But we have must have in mind that we are likely to face<br>
an important performance loss if we use it.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
--<br>
IPOL - Image Processing On Line   - <a href="http://ipol.im/" target="_blank">http://ipol.im/</a><br>
<br>
contact     <a href="mailto:edit@ipol.im">edit@ipol.im</a>          - <a href="http://www.ipol.im/meta/contact/" target="_blank">http://www.ipol.im/meta/contact/</a><br>
news+feeds  twitter @IPOL_journal - <a href="http://www.ipol.im/meta/feeds/" target="_blank">http://www.ipol.im/meta/feeds/</a><br>
announces   <a href="mailto:announce@list.ipol.im">announce@list.ipol.im</a> - <a href="http://tools.ipol.im/mm/announce/" target="_blank">http://tools.ipol.im/mm/announce/</a><br>
discussions <a href="mailto:discuss@list.ipol.im">discuss@list.ipol.im</a>  - <a href="http://tools.ipol.im/mm/discuss/" target="_blank">http://tools.ipol.im/mm/discuss/</a><br>
</div></div></blockquote></div><br></div>