|
From: Pascal J. B. <pj...@in...> - 2016-06-29 19:21:26
|
Wolfgang Dautermann <wol...@da...> writes: > Hi all, > I would also be interested in testing a new Clisp Windows (pre)release. > > I am a member of the Maxima-Team (Maxima is a CAS written in Common > Lisp) and my main contribution is, that I create (crosscompiled) > Windows-Installers for Maxima (for the 'crosscompiliation' for Lisp > based programs I use Wine, which works well). > > I did start with Clisp as supported Lisp, now I also support SBCL. Clisp > is slower, but - in my opinon - more hassle-free, it is still the > default Lisp in my installers. > > So I am *certainly* interested in testing a new Clisp release for > Windows - if it does work with my crosscompilation procedure. (If > possible, both a 32 and a 64 bit version). [For the creation of my > installer just a ZIP-File is easy to use, that was one of the reasons, I > did start with Clisp (the other reason was, that it worked well with Wine)]. > > > Some more questions: > Clisp is much slower than other Lisp implementations. On the Maxima > website http://maxima.sourceforge.net/lisp.html > there are some notes about the reasons (I am not sure, if they are correct): > > "Clisp is compiled to bytecodes, so Maxima running on Clisp is > substantially slower than on Lisps compiled to machine instructions. > Clisp computes floating-point operations in software, so floating-point > operations in Clisp are much slower than in Lisp implementations that > use hardware instructions for floating-point operations. On the other > hand, Clisp makes use of the GMP library for arbitrary-precision integer > computations." > > (a) Is "computes floating-point operations in software" correct? > Nowadays? Can one disable that? I assume most processors can do it in > hardware now. > (b) "Clisp makes use of the GMP library" - how can one enable it? I > compiled Clisp now from Daniels sourcecode, but libgmp seems not be used > (checked using 'ldd'). And there is no configure-option '--use-libgmp' > or something similar. See Joerg's answers. However, clisp has long-float numbers that can have arbitrary precision, and therefore are implemented in software. Does maxima use long-float and if yes, does it use (setf ext:long-float-digits) to set the wanted precision (possibly big)? If it only uses single-float and double-float, then it's done in hardware. There are also short-float numbers; I don't know how they're implemented. Probably they use single-float hardware and truncate the mantissa on storage. -- __Pascal Bourguignon__ http://www.informatimago.com/ “The factory of the future will have only two employees, a man and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.” -- Carl Bass CEO Autodesk |