Ethereal-dev: Re: [Ethereal-dev] SPARC Optimizations With GCC - OSNews.com

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Jeff Morriss <jeff_morriss@xxxxxxxxxxx>
Date: Mon, 01 Mar 2004 11:54:45 -0500


Guy Harris wrote:

On Sat, Feb 28, 2004 at 09:28:28PM +0200, Yaniv Kaul wrote:

Worth adding to the makefiles?


Adding it to the Makefiles would work only if the Makefile can, with
*all* versions of make (not just GNU make), test whether the build is
being done on SPARC or not.

Doing it in the configure script might work better.

However, it'd be interesting to see how much of a difference it makes,
if any - it might affect various decryption and checksumming functions,
but it might not affect the rest of Ethereal much.

Interested, I did a few simple comparisons. The results show little to no difference.

All tests were done on Solaris 8 with gcc 3.3.2 (from sunfreeware.com) on a system with a 1062 MHz UltraSPARC-IIIi CPU (I did a couple of other tests on an UltraSPARC-IIi and the results were about the same). The resulting binaries look like this to 'file':

ethereal-sparc: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped
ethereal-ultrasparc:    ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, UltraSPARC1 Extensions Required, dynamically linked, not stripped

"time ./tethereal-sparc -V -x -R udp -r <7.7M .gz file with almost all UDP packets> > /dev/null" yielded:

real    1m22.662s
user    1m21.570s
sys     0m0.400s

The same command with the "-mcpu=ultrasparc" compile flag yielded:

real    1m23.840s
user    1m22.920s
sys     0m0.280s


ethereal-sparc: load the same file, filter on UDP, quit:
real    2m10.767s
user    1m37.110s
sys     0m1.040s

ethereal-ultrasparc: load the same file, filter on UDP, quit:
real    1m42.255s
user    1m32.510s
sys     0m1.220s


ethereal-sparc: load 105,000 frame file, change time format, quit:
real    3m22.788s
user    2m23.430s
sys     0m0.350s

ethereal-ultrasparc: load 105,000 frame file, change time format, quit:
real    2m49.359s
user    2m29.060s
sys     0m0.350s