I just tested with sbcl 1.3.6, turns out heap of 3000MB is not enough,
3600MB is OK.

The reason that sbcl requires so much memory and takes a long time
to compile texmacs.spad, is the constant Cork which has 800 elements.
Maybe sbcl tries to optimize this big variable, but in fact Cork is a
constant and doesn't need optimization.

Modify Cork to be a nullary function that returns constant makes
compilation much faster and memory usage much smaller:

    Cork():List Record(corkcode:String,unicode:SI) == [ ....

Of course, this is not a good change.  The right way to do is to
make Cork a compile time constant or a literal value, but I think
FriCAS doesn't support that.


I also noticed that Cork uses a very inefficient representation, so
I changed it from List to HashTable:

https://github.com/oldk1331/fricas/commit/9f85452d311c1caef963c1ef71c3e2f0c3bbb1d7.patch


-- 
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to