Hi David.<div><br></div><div>Having a C library is certainly a use case.</div><div>But also speed - of course XS will be faster then Perl.<br>That &quot;of course&quot; is assuming that the XS code does not have a lot of interaction with the Perl code. it should be called, suck its parameters, do its work and return results.</div>
<div>If you start with callbacks and Perl data manipulation, the speed boost is not so much.</div><div><br></div><div>Also, when you write code in C you have the benefit of using data structures other the Perl&#39;s hash/array/scalar. For example, in one project I managed to get an additional speed boost due to the fast that I used trees (STL&#39;s map) instead of hashs, I could tranvarse the trees in parallel instead of tranvarsing one and fetch from the others.</div>
<div><br></div><div>Shmuel.</div><div><br><div class="gmail_quote">On Thu, Mar 1, 2012 at 4:25 PM, Michael Gang <span dir="ltr">&lt;<a href="mailto:michaelgang@gmail.com">michaelgang@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi all,<br><br>When would it be appropriate to write XS code?<br>One obvious example is when i have a c library and i want to bind it to perl.<br>Are there cases when XS code performs better then pure perl code?<br>

If yes, in which cases?<br><br>Thanks,<br>David<br></div>
<br>_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@perl.org.il">Perl@perl.org.il</a><br>
<a href="http://mail.perl.org.il/mailman/listinfo/perl" target="_blank">http://mail.perl.org.il/mailman/listinfo/perl</a><br></blockquote></div><br></div>