Subject: Re: OpenSSL RSA very very slow
To: Frank van der Linden <fvdl@NetBSD.org>
From: Alicia da Conceicao <alicia@engine.ca>
List: port-amd64
Date: 01/10/2005 04:15:24
> > Just an observation that the RSA operations in the OpenSSL distribution
> > that comes with NetBSD-amd64 version 2.0 is very slow compared to the
> > NetBSD-i386 version when run on a machine with similar CPU clock speed.
> 
> What commandline are you using to measure the speed?
> Also, are the cache sizes on the machines similar?

Hi Frank:

No command line, just benchmarking it directly from a trival "C"
application that also benchmarks my own CertEngine RSA implimentation
against OpenSSL.

I could e-mail you the "C" source that calls the OpenSSL RSA routines.
Let me know ASAP if you are interested, since my flight overseas departs
Monday night, and I won't be checking e-mail for a few days.

I think that the OpenSSL source has a application or script that
benchmarks its RSA in the "test" directory used by "gmake test".

When I noticed the slow speed for OpenSSL for NetBSD-amd64, it was
running on a new Shuttle SN95G5 with an AMD64 model 3200 (2.0GHz) Socket
939 with 800MHz bus and 512MB of DDR400 memory.  I was comparing it to an
old generic PC with an AMD Athlon XP 2400 (2.0GHz) Socket A with 266 MHz
bus and 256MB of DDR333 memory.

Dispite the superior specifications of my AMD64 machine over the ix86
machine, OpenSSL RSA operations run slower on the AMD64 machine.  This
is directly opposite to my own CertEngine RSA code (which I wrote for
embedded platforms) that runs nearly 3X faster on that AMD64 then the
ix86.

Since OpenSSL RSA is use by many of NetBSD's userland applications,
including SSH, web browsers/servers, SMIME e-mail clients, etc. it should
be fixed to run faster.  It would be worth seeing if OpenSSL RSA is also
slow on the Linux-amd64 platform, prehaps the original source tree for
OpenSSL does not have a proper "config" for AMD64 and does not create
makefiles that use 64bit optimizations and AMD64 assembler.

Alicia.