@werner this is meant as the issue for the buffer sizes etc. which we talked about yesterday.
In short:
We need to improve the performance of Kleopatra when working with large files. On my Windows System when encrypting for example I have 15% CPU usage of GnuPG, 15% CPU usage of Kleopatra and it is also not bottlenecked by Disk IO.
A starting point for me would be:
GPGME on Windows uses a buffer size of 512 byte. This is ok when data is only exchanged internally in GPGME but with QGpgME callbacks are used for IO and everything is slowed down through a lot of overhead when for example a qprocess is passed new data. Every read / write callback call causes a lot of code to be exectuted and to do this every 512 bytes seems very wasteful.