Home GnuPG
Diffusion GnuPG 4e27b9defc60

g10/plaintext: do_hash: use iobuf_read for higher performance

Description

g10/plaintext: do_hash: use iobuf_read for higher performance

* g10/plaintext.c (do_hash): Use iobuf_read instead of iobuf_get for
reading data; Use gcry_md_write instead of gcry_md_putc for hash data.

This patch reduces iobuf_read per byte processing overhead and speeds
up detached signature verifying.

Detached verifying speed on AMD Ryzen 5800X (4.3GiB file, SHA256):

gpg process
user time

before: 9.410s
after: 1.913s (4.9x faster)

  • GnuPG-bug-id: T5826
  • Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>