> From: openssl-users <openssl-users-bounces@xxxxxxxxxxx> On Behalf Of > opensslmailing via openssl-users > Sent: Saturday, 10 February, 2024 13:12 > > - the file is 4 GiByte of size > - I'm reading the file using OpenSSL BIO mechanism with the "rb" > option, so read as binary That is going to be slow. How slow depends on a number of factors, but using stdio for something of that size is definitely sub-optimal. It would be much better to map it into memory. If your application is 64-bit, you might be able to map the whole thing, though how well Windows and your particular system will cope with that I couldn't say. If your application is 32-bit, then obviously you can't, since your entire address space is only 4GiB (and Windows doesn't let you use all of that). So process it in chunks; even in 32-bit you can probably map 1GiB at a time, I think. See the CreateFileMapping and MapViewOfFile APIs. > - I don't know how the other program (btw. it is fchash from the > FastCopy program) reads the file Just from the name, I'd guess it uses memory-mapped I/O. -- Michael Wojcik