all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Qiantan Hong <qhong@mit.edu>
To: "Óscar Fuentes" <ofv@wanadoo.es>
Cc: "emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: Re: New package: resist!
Date: Thu, 9 Dec 2021 08:05:23 +0000	[thread overview]
Message-ID: <1920CA3D-F00A-4A53-AEA9-C9137B6E66FD@mit.edu> (raw)
In-Reply-To: <87ilvy8b3l.fsf@telefonica.net>

> 
> 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	other threads:[~2021-12-09  8:05 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-08 20:55 New package: resist! Qiantan Hong
2021-12-09  2:48 ` Karl Fogel
2021-12-09  6:59   ` Qiantan Hong
2021-12-09  7:57     ` Óscar Fuentes
2021-12-09  8:05       ` Qiantan Hong [this message]
2021-12-09  8:09       ` Qiantan Hong
2021-12-09 13:24       ` Stefan Monnier
2021-12-09  9:15   ` Tassilo Horn
2021-12-09  9:25     ` Qiantan Hong
2021-12-09  9:36       ` Tassilo Horn
2021-12-09 20:37         ` Qiantan Hong
2021-12-10 18:25           ` Qiantan Hong
2021-12-10 18:59             ` Stefan Monnier
2021-12-10 19:15               ` Qiantan Hong
2021-12-10 19:24                 ` Philip Kaludercic
2021-12-10 19:27                   ` [External] : " Drew Adams
2021-12-10 19:57                   ` Eli Zaretskii
2021-12-10 20:19                     ` Alexandre Garreau
2021-12-10 20:28                       ` Qiantan Hong
2021-12-10 20:34                         ` Philip Kaludercic
2021-12-10 20:44                           ` Qiantan Hong
2021-12-10 20:54                           ` Alexandre Garreau
2021-12-10 21:11                           ` [External] : " Drew Adams
2021-12-11  4:08                             ` Richard Stallman
2021-12-10 22:17                       ` Joost Kremers
2021-12-11  9:33                         ` Qiantan Hong
2021-12-11 11:16                           ` Tassilo Horn
2021-12-11 14:06                           ` Stefan Monnier
2021-12-11 14:27                             ` Qiantan Hong
2021-12-11 21:01                             ` Alexandre Garreau
2021-12-11 21:13                               ` Qiantan Hong
2021-12-11 21:26                                 ` Alexandre Garreau
2021-12-11 21:53                                   ` Alexandre Garreau
2021-12-12  1:05                                 ` Michael Heerdegen
2021-12-12  1:18                                   ` Alexandre Garreau
2021-12-12  1:35                                     ` Michael Heerdegen
2021-12-12  1:38                                       ` Qiantan Hong
2021-12-12  1:52                                         ` Michael Heerdegen
2021-12-12  2:02                                           ` Alexandre Garreau
2021-12-12  2:11                                             ` Michael Heerdegen
2021-12-12  2:18                                               ` Alexandre Garreau
2021-12-12  1:59                                       ` Alexandre Garreau
2021-12-12  2:56                                         ` Qiantan Hong
2021-12-12  6:42                                         ` Michael Heerdegen
2021-12-12  1:30                                   ` Qiantan Hong
2021-12-12  1:33                                     ` Qiantan Hong
2021-12-10 21:04                     ` Dmitry Gutov
2021-12-10 19:53                 ` Stefan Monnier
2021-12-10 21:08                   ` [External] : " Drew Adams
2021-12-09 13:56 ` Stefan Kangas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1920CA3D-F00A-4A53-AEA9-C9137B6E66FD@mit.edu \
    --to=qhong@mit.edu \
    --cc=emacs-devel@gnu.org \
    --cc=ofv@wanadoo.es \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.