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.