1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-07-04 03:08:57 +02:00
gnupg/sm
Werner Koch 69b0fa55f6
kbx: Use custom estream buffering
* kbx/keybox-init.c (ll_buffer_size): New var intialized to 128k
(stream_buffers): New var.
(keybox_set_buffersize): New.
(_keybox_ll_open, _keybox_ll_close): Implement buffering.

* sm/gpgsm.c (oKbxBufferSize): New.
(opts): Add option --kbx-buffer-size.
(main): Call keybox_set_buffersize.

* g10/gpg.c: Include keybox.h.
* (oKbxBufferSize): New.
(opts): Add option --kbx-buffer-size.
(main): Call keybox_set_buffersize.
--

Commit message from 2.4:

Running a test on Windows using a pubring.kbx with
Total number of blobs:     2098
              openpgp:     1294
                 x509:      803
and a size of 42MiB with

gpgsm -k --with-validation --disable-dirmngr --kbx-buffer-size N >nul

gives these performance figures using procmon

| N(k) | file events | time(s) |
|------+-------------+---------|
|    0 |     4900000 |      86 |
|   16 |     2456000 |      58 |
|   32 |     1233000 |      43 |
|   64 |      622000 |      37 |
|  128 |      317000 |      32 |
|  256 |      164000 |      31 |
|  512 |       88000 |      30 |

Using _open instead of CreateFile give the same number of file events
but increased the time slight by one second for the measured buffer
size of 64k and 128k.   Benchmarks for gpg have not been conducted.
2023-05-10 10:07:32 +02:00
..
call-agent.c sm: Support generation of card-based ECDSA CSR. 2023-01-13 10:31:20 +01:00
call-dirmngr.c gpgsm: Improve cert lookup callback from dirmngr. 2023-02-26 19:11:27 +01:00
certchain.c gpgsm: Cache the non-existence of the policy file. 2023-05-10 09:52:33 +02:00
certcheck.c gpgsm: Support verification of nistp521 signatures. 2022-11-15 10:46:03 +01:00
certdump.c sm: Fix a bug in the rfc2253 parser 2020-08-28 09:09:34 +02:00
certlist.c gpgsm: Improve cert lookup callback from dirmngr. 2023-02-26 19:11:27 +01:00
certreqgen-ui.c gpgsm: Cleanup the use of GCRY_PK_ECC and GCRY_PK_ECDSA. 2022-11-14 18:16:49 +01:00
certreqgen.c gpg,gpgsm: Extend the use of allow-ecc-encr and vsd-allow-ocb 2023-03-24 13:50:37 +01:00
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-01 11:09:02 +01:00
decrypt.c sm: Support encryption using ECDH keys. 2022-10-28 13:01:09 +02:00
delete.c sm: Fix issuer certificate look error due to legacy error code. 2023-02-24 17:46:39 +01:00
encrypt.c gpgsm: New compatibility flag "allow-ecc-encr". 2022-10-28 15:19:19 +02:00
export.c sm: Fix issuer certificate look error due to legacy error code. 2023-02-24 17:46:39 +01:00
fingerprint.c gpgsm: Allow ECC encryption keys with just keyAgreement specified. 2022-10-28 12:17:46 +02:00
gpgsm-w32info.rc w32: Add manifest files to most binaries 2020-10-02 17:04:12 +02:00
gpgsm.c kbx: Use custom estream buffering 2023-05-10 10:07:32 +02:00
gpgsm.h gpgsm: Improve cert lookup callback from dirmngr. 2023-02-26 19:11:27 +01:00
gpgsm.w32-manifest.in w32: Add manifest files to most binaries 2020-10-02 17:04:12 +02:00
import.c sm: Fix issuer certificate look error due to legacy error code. 2023-02-24 17:46:39 +01:00
keydb.c sm: Fix issuer certificate look error due to legacy error code. 2023-02-24 17:46:39 +01:00
keydb.h sm: On Windows close the kbx files at several places. 2021-03-02 19:01:07 +01:00
keylist.c sm: Fix issuer certificate look error due to legacy error code. 2023-02-24 17:46:39 +01:00
Makefile.am w32: Add manifest files to most binaries 2020-10-02 17:04:12 +02:00
minip12.c sm: Fix reporting of bad passphrase error 2022-10-10 09:17:10 +02:00
minip12.h sm: Update pkcs#12 module from master 2022-06-21 18:22:14 +02:00
misc.c gpgsm: Some more ECC support backported. 2022-11-14 17:23:06 +01:00
passphrase.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
passphrase.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
qualified.c Replace most of the remaining stdio calls by estream calls. 2020-10-21 21:09:38 +02:00
server.c Assorted memory leak fixes on the error code paths. 2021-05-20 14:51:42 +02:00
sign.c sm: Fix issuer certificate look error due to legacy error code. 2023-02-24 17:46:39 +01:00
verify.c sm: Fix compliance checking for ECC signature verification. 2023-01-12 20:58:21 +01:00