linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ed Sweetman <ed.sweetman@wmich.edu>
To: unlisted-recipients:; (no To-header on input)
Cc: linux-kernel@vger.kernel.org
Subject: Re: [CFT] faster athlon/duron memory copy implementation
Date: Thu, 24 Oct 2002 16:09:41 -0400	[thread overview]
Message-ID: <3DB85385.6030302@wmich.edu> (raw)
In-Reply-To: 200210242048.36859.earny@net4u.de


I seem to be seeing compiler optimizations come into play with the 
numbers and not any mention of them that i've seen has been talked 
about. That could be causing any discrepencies with predicted values. So 
not only would we have to look at algorithms, but also the compilers and 
what optimizations we plan on using them with.  Some do better on 
certain compilers+flags than others. It's a mixmatch that seems to only 
get complicated the more realistic you make it.



athlon tbird 1133.402Mhz, 133Mhz fsb, 512MB + 128MB pc133sdram No hd

Here are 3 averages of 3 runs each

gcc (GCC) 3.2.1 20021020 (Debian prerelease)

flags : -O3 -march=athlon-tbird -mcpu=athlon-tbird -falign-loops=4

copy_page function 'warm up run'         took 17577 cycles per page
copy_page function '2.4 non MMX'         took 23659 cycles per page
copy_page function '2.4 MMX fallback'    took 23894 cycles per page
copy_page function '2.4 MMX version'     took 17549 cycles per page
copy_page function 'faster_copy'         took 10452 cycles per page
copy_page function 'even_faster'         took 10159 cycles per page
copy_page function 'no_prefetch'         took 9508 cycles per page

flags : -O0 -march=i686 -mcpu=i686

copy_page function 'warm up run'         took 18377 cycles per page
copy_page function '2.4 non MMX'         took 23688 cycles per page
copy_page function '2.4 MMX fallback'    took 23671 cycles per page
copy_page function '2.4 MMX version'     took 18407 cycles per page
copy_page function 'faster_copy'         took 10091 cycles per page
copy_page function 'even_faster'         took 10283 cycles per page
copy_page function 'no_prefetch'         took 9907 cycles per page


gcc 2.95.4

flags : -O0 -march=i686 -mcpu=i686

copy_page function 'warm up run'         took 18343 cycles per page
copy_page function '2.4 non MMX'         took 23655 cycles per page
copy_page function '2.4 MMX fallback'    took 23646 cycles per page
copy_page function '2.4 MMX version'     took 18324 cycles per page
copy_page function 'faster_copy'         took 10146 cycles per page
copy_page function 'even_faster'         took 10438 cycles per page
copy_page function 'no_prefetch'         took 9913 cycles per page


----------------------------------------------------------------------


avg difference due to compiler
copy_page function 'warm up run'	 took +-533 cycles per page
copy_page function '2.4 non MMX'         took +-22 cycles per page
copy_page function '2.4 MMX fallback'    took +-496 cycles per page
copy_page function '2.4 MMX version'     took +-572 cycles per page
copy_page function 'faster_copy'         took +-241 cycles per page
copy_page function 'even_faster'         took +-186 cycles per page

Other options may give even greater differences but it's difficult to 
try them all so I thought this should give an example of proof. The 
options did not do better than all of the runs of another option but 
instead did better and worse depending on the test.

copy_page function 'warm up run'	test1
copy_page function '2.4 non MMX'        test3
copy_page function '2.4 MMX fallback'   test3
copy_page function '2.4 MMX version'    test1
copy_page function 'faster_copy'        test2
copy_page function 'even_faster'        test1
copy_page function 'no_prefetch'        test1


bandwidth test1 = 488.3MB/sec   (not ddr like other setups)
bandwidth test2 = 468.6MB/sec
bandwidth test3 = 468.3MB/sec




  reply	other threads:[~2002-10-24 20:03 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-24 17:15 [CFT] faster athlon/duron memory copy implementation Manfred Spraul
2002-10-24 17:37 ` Robert Love
2002-10-24 18:05   ` Zach Brown
2002-10-24 17:41 ` Andreas Steinmetz
2002-10-24 17:48 ` Matthias Welk
2002-10-24 19:01   ` erich
2002-10-24 19:11     ` Arjan van de Ven
2002-10-24 19:38     ` Manfred Spraul
2002-10-25  0:59       ` Panagiotis Papadakos
2002-10-24 17:53 ` Roger Luethi
2002-10-24 18:10 ` Daniel Egger
2002-10-24 19:15   ` Florin Iucha
2002-10-24 19:28   ` Manfred Spraul
2002-10-24 19:38     ` Dave Jones
2002-10-24 19:43     ` Ken Witherow
2002-10-25 13:08     ` Daniel Egger
2002-10-24 18:17 ` Eric Lammerts
2002-10-24 18:26 ` David Rees
2002-10-24 18:35 ` Josh McKinney
2002-10-24 18:36 ` Dave Jones
2002-10-24 18:43 ` Simon Fowler
2002-10-24 18:50   ` Simon Fowler
2002-10-24 18:56   ` Dave Jones
2002-10-24 18:48 ` Ernst Herzberg
2002-10-24 20:09   ` Ed Sweetman [this message]
2002-10-24 20:13     ` Robert Love
2002-10-24 20:31       ` Ed Sweetman
2002-10-24 20:49         ` Dave Jones
2002-10-24 20:26     ` Dave Jones
2002-10-25  9:19       ` Måns Rullgård
2002-10-24 19:11 ` Marcus Libäck
2002-10-24 19:19 ` Brian Gerst
2002-10-24 19:31 ` Matthias Schniedermeyer
2002-10-24 19:33 ` Pascal Schmidt
2002-10-24 19:39 ` Olaf Dietsche
2002-10-24 20:27 ` Mike Civil
2002-10-24 20:44 ` Willy TARREAU
2002-10-24 21:46 ` Josh Fryman
2002-10-24 22:18 ` Tim Schmielau
2002-10-24 23:09 ` Hirokazu Takahashi
2002-10-24 23:37 ` Ryan Cumming
2002-10-25  0:10 ` Matthias Andree
2002-10-25  8:35 ` venom
2002-10-25 13:31 ` Denis Vlasenko
2002-10-26 12:11 ` Jurjen Oskam
  -- strict thread matches above, loose matches on Subject: below --
2002-10-24 18:27 Shawn Starr
2002-10-24 20:51 Dieter Nützel
2002-10-24 21:01 ` Dieter Nützel
2002-10-24 21:16 ` Willy TARREAU
2002-10-24 22:01 Harm Verhagen
2002-10-25 16:29 Jorge Bernal "Koke"

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3DB85385.6030302@wmich.edu \
    --to=ed.sweetman@wmich.edu \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).