emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New package: resist!


From: Qiantan Hong
Subject: Re: New package: resist!
Date: Thu, 9 Dec 2021 08:05:23 +0000

> 
> Was it with a cold disk cache? SSD or HDD? :-)
> 
> I'm afraid that you are focusing too much on a single metric.
> 
> You don't mention how large is each record, but anyway 10k records is a
> tiny number for any serious database application. And then we have
> memory pressure: apart from raw RAM usage, IIRC Emacs' garbage collector
> traverses live objects, which means that Emacs becomes slower as the
> info it holds grows.
10k is tiny for business records, but IMO big for Emacs packages.
About the size dependency on record, the takeaway is that the speed
is almost exactly the READ speed, so for loading Lisp values,
it’s basically impossible to beat because you always need to convert
from string to Lisp values even using other database.

Instead, database will benefit from loading lazily, but I can do it too.
It’s unclear to me whether it’s necessary, but if it’s proven to be true,
I could add it.

> Then we have the persistence requirement: if we
> want frequent, persistent updates to the database, having to write the
> database's entire content each time we want to persist a change is
> unacceptable.
This is a common misunderstanding. Resist! is a log structured store
and only writes out increments. It’s even probably “cleverer” than 
stock databases because it understands some Lisp (e.g. list operations)
and you can teach it to understand more.

Maybe to avoid future confusion I should mention this in package header?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]