network transfer performance

Michael Cronenworth mike at
Fri Jun 22 17:15:10 CEST 2012

Michael Cronenworth wrote:
> Fedora uses libgcrypt. 128-bit vs 256-bit didn't provide any tangible
> difference in my testing. I'll give all those ciphers a shot and look
> into using libnettle. Thanks!

Using libnettle with ARCFOUR-128 and MD5 nets me about a 2 second
improvement. (8 seconds down from 10 seconds for 100MB)

Perf shows all the processing is happening in libnettle on both the
client and server side so none of my code should be holding up the transfer.

client (top two lines):
 25.76%  foo         [.] nettle_arcfour_crypt
 18.61%  foo         [.] _nettle_md5_compress

server (top two lines):
 16.17%  bar      [.] nettle_arcfour_crypt
 13.19%  bar      [.] _nettle_md5_compress

When I run "top" during the transfer the client and server process take
~30% of a CPU core each, so it still seems like something is
bottlenecking the processes, but I have exhausted my knowledge on
profiling. Anything else I can look at?

More information about the Gnutls-help mailing list