GnuPG 2.3 Beta

Werner Koch wk at gnupg.org
Tue Feb 23 13:24:27 CET 2021


On Tue, 23 Feb 2021 10:48, Marco Ricci said:

> Forgive my ignorance, but why exactly do you set up a new daemon for
> this? Just based on the description of the feature, I would have rather

We use SQLite and transactions are very expensive if more than one
process is accessing the DB.  So what we do is what all other database
engines do: run a single process with exclusive access to the DB.  There
is some overhead due to IPC but overall things are much faster.

The reason why several processes need to access the DB is that there are
often several gpg processes running and working on the same keyring.
This needs to be synchronized.  Without the keyboxd we lock the keyring
and all other gpg and gpgsm processes need to wait until they can
continue even with a read.  This multi-process serialization slows down
everything.

Try running Kleopatra with a large keyring with and without keyboxd.  It
makes a huge difference.


Salam-Shalom,

   Werner

-- 
Die Gedanken sind frei.  Ausnahmen regelt ein Bundesgesetz.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 227 bytes
Desc: not available
URL: <https://lists.gnupg.org/pipermail/gnupg-devel/attachments/20210223/0721fdb0/attachment.sig>


More information about the Gnupg-devel mailing list