On 12/29/23 10:41, Waldek Hebisch wrote:

Well, it is not clear to me if it is useful.  To explain a bit:
initial ports, in particular sbcl port discovered several bugs
in FriCAS, so it was worth doing if only to get rid of bugs.

For several years sbcl gives us best performance, ECL gives
best portablility (it runs on a lot of platforms), clisp
also is/was good for portablity but apparently is is not
as well maintained as ECL.  GCL was main platform in open
source Axiom era so required only effort to keep it running.
And GCL runs reasonably well on Debian.  Closure CL was
developed mainly on/for Macs, so there was potential for
better Mac OS support.  Both Closure CL and Poplog have
very fast compilation.  With sbcl (and probably also GCL
and ECL) it seems that about half of FriCAS compile time
is spent in Lisp compilation, so even if we made Spad
compiler infinitely fast, we could only double compilation
speed with sbcl.  OTOH in Closure CL and Poplog Lisp
compile time is much lower (but Spad compiler runs slower,
so total build time is longer).  I also mentioned that
I had/have some specific hope related to Poplog.

I think Lispworks has the fastest Lisp complication speed.
For the fricas0 usage, to compile interp/*lisp,

SBCL: 7.5s
CCL: 8.0s
CLISP: 8.9s
Allegro: 13.3s
Lispworks: 3.3s

Concerning speed of algebra code, one way to gain better
speed is to use C code.  In particular we could try to
generate C code from Spad.  Here major issue is cooperation
with Lisp runtime system.  IIUC it would be easiest using
ECL, harder with other Lisps.

Main thing is that there are benefits or at least hope
for benefits from various ports.  It is not clear to
me what we gain from Allegro port.  256 Mb limit on
heap size means that it will be unsuitable for larger
computations.  I consider 1Gb default limit of sbcl as
a problem and keep larger versions for serious use.
256 Mb limit will cause much more problem.  And lack
of FFI is serious drawback.  Of course this is your
time but my personal take was that I do not want to
work with "free" Allegro or Lispworks, simply I see
no gain.  If somebody with "professional" licence
want to contribite a port I would accept it on
"as is basis" (that was case with Lispworks).  But
working around limitations of "free" versions looks
pointless.

I would be interesting to know how fast Allegro is.
For compile time you could try RDEEFX or LODOF2.

For RDEEFX.spad:

SBCL: 9.01s
CCL: 21.86s
CLISP: 34.19s
Allegro: 8.64s
LispWorks: 16.40s

For runtime most interesting tests uses lot of memory,
one could try Ralf example of finite field factorization,
it should have moderate memory use.  Or try some
microbenchmarks.


For factor p3:

SBCL: 15.92s  (no FFI, with FFI, it is 3.25s)
CCL: 6.23s
CLISP: 41.31s
Allegro: 16.86s
Lispworks: 4.71s


There's no clear winner in all 3 tests.  Allegro performance is not bad.

- Qian

--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/43148841-2681-4b05-b87d-87c4f8a7b8bc%40gmail.com.

Reply via email to