<div dir="ltr">Thank you for the suggestions, Zoltan. Robert Buckley</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 10:39 AM, Zoltan Somogyi <span dir="ltr"><<a href="mailto:zoltan.somogyi@runbox.com" target="_blank">zoltan.somogyi@runbox.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
On Tue, 14 Apr 2015 09:38:12 -0700, Delmas Buckley <<a href="mailto:rbuckley@ieee.org">rbuckley@ieee.org</a>> wrote:<br>
> Does anyone have any suggestions for speedup, other than "Avoid using<br>
> Mercury for this purpose"?<br>
<br>
</span>You may want to consider eliminating the massive amounts of redundant<br>
computation that your code is doing, to wit, constructing the arbitrary-precision<br>
representations of your constants over and over and over and over and over ...<br>
Since each call to integer/1 allocates memory, I am not surprised that you<br>
ended up thrashing your machine.<br>
<br>
Once you have done that, you may also want to consider using one of Mercury's<br>
profilers to find out where your program is spending its time or allocating its<br>
memory. That is what they are for.<br>
<span class="HOEnZb"><font color="#888888"><br>
Zoltan.</font></span></blockquote></div><br></div>