Home GnuPG

mpi: avoid MPI copy at gcry_mpi_sub

Description

mpi: avoid MPI copy at gcry_mpi_sub

* mpi/mpi-add.c (_gcry_mpi_add): Rename function...
(_gcry_mpi_add_inv_sign): ... to this and add parameter for inverting
sign of second operand.
(_gcry_mpi_add): New.
(_gcry_mpi_sub): Remove mpi_copy and instead use new
'_gcry_mpi_add_inv_sign' function with inverted sign for second
operand.

Benchmark on AMD Ryzen 9 7900X:

Before:

|  nanosecs/byte   mebibytes/sec   cycles/byte  auto Mhz

add | 0.052 ns/B 18301 MiB/s 0.287 c/B 5500
sub | 0.098 ns/B 9768 MiB/s 0.537 c/B 5500

After:

|  nanosecs/byte   mebibytes/sec   cycles/byte  auto Mhz

add | 0.030 ns/B 31771 MiB/s 0.165 c/B 5500
sub | 0.031 ns/B 31187 MiB/s 0.168 c/B 5500

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

Details

Provenance
jukiviliAuthored on Apr 10 2023, 8:05 PM
Parents
rCe90fbf6f8dac: bench-slope: add MPI benchmarking
Branches
Unknown
Tags
Unknown