<br>Sorry for the late answer, I just returned back from holiday.<br><br>I tried it with the latest ECL 9.8.3 version (and gcc 4.3.3), and it works properly as you said. However it is really slow compared to SBCL. I converted 100000000 double floats to/from unsigned integers and on my computer ECL was ~5 times slower than SBCL (code is attached to repeat this test). I ran the test by (asdf:oos 'asdf:load-op :tryme). The speed difference increases if more doubles are converted. The consed data amount difference is also significant.<br>
<br>ECL:<br> real time : 119.914 secs<br> run time : 111.667 secs<br> gc count : 8798 times<br> consed : 30900318944 bytes<br><br>SBCL<br> 23.515 seconds of real time<br> 21.789362 seconds of total run time (21.709357 user, 0.080005 system)<br>
[ Run times consist of 1.296 seconds GC time, and 20.494 seconds non-GC time. ]<br> 92.66% CPU<br> 41,880,163,970 processor cycles<br> 5,114,640,016 bytes consed<br><br>I also tried my library's speed test and that showed me that ECL is 100-300 times slower than SBCL.<br>
<br>I know that ECL is not primarily designed for scientific computation purposes, but I want to ask a few things.<br>- What kind of experience do you have about speed differences between ECL and an other Lisp implementations (e.g. SBCL)?<br>
- Can you recommend me a good profiler for ECL? Should I use Slime or gprof somehow?<br><br>Thank you for the advices.<br><br>Best,<br>`Gabor`<br><br><br><div class="gmail_quote">2009/7/15 Juan Jose Garcia-Ripoll <span dir="ltr"><<a href="mailto:juanjose.garciaripoll@googlemail.com">juanjose.garciaripoll@googlemail.com</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">2009/7/9 Gábor Balázs <<a href="mailto:gabalz@gmail.com">gabalz@gmail.com</a>>:<br>
<div class="im">> I try to create a fast double encoder/decoder function for ECL like SBCL's<br>
> double-float-high-bits, double-float-low-bits and make-double-float. I want<br>
> to do it, because I want to support ECL by my library. But I experienced<br>
> very strange things with using type declarations. I attached my test code.<br>
<br>
</div>The code to convert from a lisp object to a C integer was rejecting<br>
bignums, even though they enter into the ranges (0 UINT_MAX) and<br>
(INT_MIN, INT_MAX). It has been solved in the git and CVS<br>
repositories.<br>
<br>
Juanjo<br>
<font color="#888888"><br>
--<br>
Instituto de Física Fundamental, CSIC<br>
c/ Serrano, 113b, Madrid 28006 (Spain)<br>
<a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>
</font></blockquote></div><br>