Database handling

21 views
Skip to first unread message

Waldek Hebisch

unread,
Apr 10, 2024, 6:04:00 PM4/10/24
to fricas...@googlegroups.com
I have now reworked database handling in Boot. There is some potential
for breakage, but it passes tests. Aldor interface builds and things that
I use work.

After changes we have 4678 lines of Lisp code in 'src/interp',
compared to 5955 in 1.3.10. This is reduction by more than 20%.

BTW: During rework I implemented ')quit' flag for ')lib'. With
this flag ')lib' will still print error messages, but normal
chatter is supressed.

--
Waldek Hebisch

Ralf Hemmecke

unread,
Apr 11, 2024, 3:17:31 AM4/11/24
to fricas...@googlegroups.com
Dear Waldek,

thank you for the ")quiet" option.

Ralf

Tim Daly

unread,
Apr 11, 2024, 11:52:29 AM4/11/24
to FriCAS - computer algebra system
src/share/algebra/compress.daase can be trivially removed by
expanding the symbols back into place. I created this database 
so I could run on MSDOS 3.5 inch diskettes. It is useless overhead.

In general the databases exist to overcome space limitations on
the mainframe. At minimum they should be mmap-ed for performance.
More useful would be storing them as in-memory hash tables rather
than essentially simulating hash tables using disk seeks.

Tim

Waldek Hebisch

unread,
Apr 11, 2024, 1:09:08 PM4/11/24
to fricas...@googlegroups.com
On Thu, Apr 11, 2024 at 08:52:29AM -0700, Tim Daly wrote:
> src/share/algebra/compress.daase can be trivially removed by
> expanding the symbols back into place.

Yes, this was done about two month ago. More precisely, for
several years compression was disabled by default (could be
turned on by changing value of a flag). Two months ago I
removed compression code and compress.daase.

> I created this database
> so I could run on MSDOS 3.5 inch diskettes. It is useless overhead.
>
> In general the databases exist to overcome space limitations on
> the mainframe. At minimum they should be mmap-ed for performance.
> More useful would be storing them as in-memory hash tables rather
> than essentially simulating hash tables using disk seeks.

Well, we need to store information somewhere. In principle
everything is in 'index.KAF' files, but reading 4 database files
is much faster than reading 1387 'index.KAF' files. Note that
database info is cached: it is read as needed and stored in memory
data structure.

Keeping database info inside image probably would be faster, but
image is binary, while current database info is human readible.
So there current form has significant advantage for debugging.

--
Waldek Hebisch

Tim Daly

unread,
Apr 11, 2024, 2:49:05 PM4/11/24
to fricas...@googlegroups.com
I checked the github repo. It seems compress.daase still exists.
Did I make a mistake?

Tim


--
You received this message because you are subscribed to a topic in the Google Groups "FriCAS - computer algebra system" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/fricas-devel/cSPCIN9Jeqk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to fricas-devel...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/ZhgZMe-fspOPQRvJ%40fricas.org.

Waldek Hebisch

unread,
Apr 11, 2024, 7:03:11 PM4/11/24
to fricas...@googlegroups.com
On Thu, Apr 11, 2024 at 02:48:49PM -0400, Tim Daly wrote:
> I checked the github repo. It seems compress.daase still exists.
> Did I make a mistake?

You mean 'src/share/algebra/compress.daase'? Thanks for mentionig
this. I forgot about it, removed now.

--
Waldek Hebisch
Reply all
Reply to author
Forward
0 new messages