Date: Thu, 28 Jul 2005 10:57:42 -0700 From: Peter Wemm <peter@wemm.org> To: freebsd-amd64@freebsd.org Subject: Re: Benchmarks: AMD64 vs i386 on Dual 246 Opteron Message-ID: <200507281057.43655.peter@wemm.org> In-Reply-To: <20050728163602.GC64153@troutmask.apl.washington.edu> References: <3.0.1.32.20050728080526.00aa4098@pop.redshift.com> <3.0.1.32.20050728092338.01207628@pop.redshift.com> <20050728163602.GC64153@troutmask.apl.washington.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 28 July 2005 09:36 am, Steve Kargl wrote: > As mentioned elsewhere, I would look for optimizations within > the software packages that target i386. Additionally, the > instruction schedulers in gcc/gas have had many more years > of development in comparison to the amd64 schedulers. Take libc and libm for example... libc: peter@overcee[10:50am]~/fbp4/hammer/lib/libc-112> ls i386/string/ Makefile.inc index.S memset.S strcpy.S wcschr.S bcmp.S memchr.S rindex.S strlen.S wcscmp.S bcopy.S memcmp.S strcat.S strncmp.S wcslen.S bzero.S memcpy.S strchr.S strrchr.S wmemchr.S ffs.S memmove.S strcmp.S swab.S peter@overcee[10:50am]~/fbp4/hammer/lib/libc-113> ls amd64/string/ Makefile.inc bzero.S memmove.S strcmp.S bcmp.S memcmp.S memset.S strcpy.S bcopy.S memcpy.S strcat.S peter@overcee[10:50am]~/fbp4/hammer/lib/libc-114> libm: peter@overcee[10:51am]~/fbp4/hammer/lib/msun-117> ls i387 Makefile.inc s_ceilf.S s_remquo.S e_exp.S s_ceill.S s_remquof.S e_fmod.S s_copysign.S s_rint.S e_log.S s_copysignf.S s_rintf.S e_log10.S s_copysignl.S s_scalbn.S e_log10f.S s_cos.S s_scalbnf.S e_logf.S s_finite.S s_scalbnl.S e_remainder.S s_floor.S s_significand.S e_remainderf.S s_floorf.S s_significandf.S e_scalb.S s_floorl.S s_sin.S e_scalbf.S s_llrint.S s_tan.S e_sqrt.S s_llrintf.S s_trunc.S e_sqrtf.S s_logb.S s_truncf.S fenv.c s_logbf.S s_truncl.S fenv.h s_lrint.S s_ceil.S s_lrintf.S peter@overcee[10:51am]~/fbp4/hammer/lib/msun-118> ls amd64/ Makefile.inc fenv.c s_llrintf.S s_remquo.S s_scalbnf.S e_sqrt.S fenv.h s_lrint.S s_remquof.S s_scalbnl.S e_sqrtf.S s_llrint.S s_lrintf.S s_scalbn.S peter@overcee[10:51am]~/fbp4/hammer/lib/msun-119> Now granted gcc has many of these as builtins.. but it illustrates the point I'm trying to make. Lots of code has hand-tuned i386 assembler optimization and falls back to generic C code for 64 bit mode. Mysql could also easily be affected by inefficiencies in the amd64 pthread libraries too. -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200507281057.43655.peter>