Topic: Performance of wolfSSL Client and Server
Hi,
recently I did some first performance measurements with two boards, one is running the wolfSSL Client and the other one is running the wolfSSL Server.
The following options that are important for the measurements are set:
#define SIZEOF_LONG 4
#define SIZEOF_LONG_LONG 8
#define NO_FILESYSTEM
#define USE_CERT_BUFFERS_2048
#define SINGLE_THREADED
#define CHAR_BIT 8
#define TFM_NO_ASM
#define USE_FAST_MATH
#define HAVE_AESGCM
#define BUILD_TLS_RSA_WITH_AES_128_GCM_SHA256
So a connection between the boards is established with RSA and AES128 in GCM.
In the first test, the client is sending to the server at maximum speed:
static char data[1452];
while(1)
{
wolfSSL_send(ssl, data, sizeof(data), 0);
}
The resulting speed (measured with wireshark) is at 4,4 Mbit/s. The result seems to be quite reasonable, since there is no
hardware acceleration. (is it really, what do you think? I am using a TriCore with 300 MHz)
But now there appears to be a problem when I let the server send to the client. The client connects to the server and then the server sends to the client at maximum speed, using the same code as above.
The resulting speed is now much lower, at around 120 kbit/s.
Can someone please help by telling me what might be the cause of this difference. Actually I expected that the speed in both directions should be pretty much the same.
Best regards,
hstr