<font size="2"><font face="tahoma,sans-serif"><div><font size="2"><font face="tahoma,sans-serif">Thanks Gregory!</font></font></div><div><font size="2"><font face="tahoma,sans-serif"><br></font></font></div>Probably the solution would be recreating the FFI in a way that doesn&#39;t need the StablePtr. Not sure how to do this though. I&#39;m going to test other things, like HashTable, before trying this. And let&#39;s see how it goes.</font></font><div>
<font class="Apple-style-span" face="tahoma, sans-serif"><br></font></div><div><font class="Apple-style-span" face="tahoma, sans-serif">~dsouza<br></font><div><font class="Apple-style-span" face="tahoma, sans-serif"><br></font></div>
<div><div class="gmail_quote">On Mon, Dec 20, 2010 at 2:40 PM, Gregory Collins <span dir="ltr">&lt;<a href="mailto:greg@gregorycollins.net">greg@gregorycollins.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Pointers are mapped to StablePtrs using.... *drumroll* a hash table,<br>
so you can give up on getting acceptable performance out of this<br>
combination IMO.<br>
<br>
G<br>
<div><div></div><div class="h5"><br>
On Mon, Dec 20, 2010 at 5:06 PM, Diego Souza &lt;<a href="mailto:dsouza@bitforest.org">dsouza@bitforest.org</a>&gt; wrote:<br>
&gt; Hello Haskellers,<br>
&gt; I&#39;m playing a bit with Data.Judy. However, I noticed that using StablePtr<br>
&gt; incurs in some performance problems, I don&#39;t have any numbers but as a<br>
&gt; example use Int and ByteString as values and you can notice the difference<br>
&gt; without any benchmarking tool with the example that comes in the<br>
&gt; documentation.<br>
&gt; The question that I have is: is there any way to make it faster for types<br>
&gt; other than those that fits in word size? I understand that the way the<br>
&gt; binding to the C code has been done, stableptr is required. Am I wrong<br>
&gt; assuming this? I would be happy to submit a patch but I failed to find a way<br>
&gt; to improve the performance.<br>
&gt; The second question is what is a common practice to avoid memory leaks with<br>
&gt; StablePtr? I have zero experience programming with the Haskell FFI<br>
&gt; interface, so probably the most basic stuff would help me a lot in this<br>
&gt; case.<br>
&gt;<br>
&gt; Thanks in advance,<br>
&gt; --<br>
&gt; ~dsouza<br>
&gt; yahoo!im: paravinicius<br>
&gt; gpg key fingerprint: 71B8 CE21 3A6E F894 5B1B  9ECE F88E 067F E891 651E<br>
&gt; gpg pub key: <a href="http://bitforest.org/~dsouza/pub/gpg-pubkey.txt" target="_blank">http://bitforest.org/~dsouza/pub/gpg-pubkey.txt</a><br>
&gt; authorized_keys: <a href="http://bitforest.org/~dsouza/pub/authorized_keys.txt" target="_blank">http://bitforest.org/~dsouza/pub/authorized_keys.txt</a><br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Haskell-Cafe mailing list<br>
&gt; <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
&gt;<br>
&gt;<br>
<font color="#888888"><br>
<br>
<br>
--<br>
Gregory Collins &lt;<a href="mailto:greg@gregorycollins.net">greg@gregorycollins.net</a>&gt;<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>~dsouza<br>yahoo!im: paravinicius<br>gpg key fingerprint: 71B8 CE21 3A6E F894 5B1B  9ECE F88E 067F E891 651E<br>gpg pub key: <a href="http://bitforest.org/~dsouza/pub/gpg-pubkey.txt" target="_blank">http://bitforest.org/~dsouza/pub/gpg-pubkey.txt</a><br>
authorized_keys: <a href="http://bitforest.org/~dsouza/pub/authorized_keys.txt" target="_blank">http://bitforest.org/~dsouza/pub/authorized_keys.txt</a><br>
</div></div>