Article View: pl.comp.lang.asm
Article #2221Re: Odwracanie kolejności bajtów w tablicy
From: Andrzej Grażyński
Date: Fri, 23 Apr 2010 10:48
Date: Fri, 23 Apr 2010 10:48
45 lines
3780 bytes
3780 bytes
Wojciech Muła pisze: > Hej, kontynuacja wątku założonego przez Andrzeja. > U mnie niestety starsze posty wyparowały, więc nie mam > gdzie się podczepić. > > Przetestowałem właśnie kilka metod: > * "bajty" - naiwny algorytm zamiany bajt po bajcie > * BSWAP - zmiana 4 bajtów na iterację (1 x BSWAP) > * 2xBSWAP - zmiana 8 bajtów na iterację (2 x BSWAP) > * PSHUFB - zmiana 16 bajtów na iterację (1 x PSHUFB) > * 2xPSHUFB - zmiana 32 bajtów na iterację (2 x PSHUFB) > > Rozmiary tablic są wielokrotnością 32 bajtów, więc wszystkie > dostępy do pamięci były wyrównane. Procesor Core 2 Duo E8400. > W tabelce są czasy wykonywania kilku-kilkuset tysięcy iteracji. > Mój wniosek nie jest odkrywczy: najbardziej ograniczają nas > czasy dostępu do pamięci. > > +-------------+-----------+----------------+----------------+----------------+----------------+ > | rozmiar | bajty | BSWAP | 2xBSWAP | PSHUFB | 2xPSHUFB | > +-------------+-----------+--------+-------+--------+-------+--------+-------+--------+-------+ > | 64 B | 759 ms | 292 ms | 2.6 x | 267 ms | 2.8 x | 240 ms | 3.1 x | 138 ms | 5.5 x | > +-------------+-----------+--------+-------+--------+-------+--------+-------+--------+-------+ > | 128 B | 740 ms | 264 ms | 2.8 x | 218 ms | 3.4 x | 108 ms | 6.8 x | 107 ms | 6.9 x | > +-------------+-----------+--------+-------+--------+-------+--------+-------+--------+-------+ > | 256 B | 808 ms | 303 ms | 2.6 x | 243 ms | 3.3 x | 81 ms | 9.9 x | 72 ms |11.2 x | > +-------------+-----------+--------+-------+--------+-------+--------+-------+--------+-------+ > | 512 B | 1026 ms | 394 ms | 2.6 x | 305 ms | 3.3 x | 91 ms |11.2 x | 84 ms |12.2 x | > +-------------+-----------+--------+-------+--------+-------+--------+-------+--------+-------+ > | 1 kB | 1000 ms | 404 ms | 2.4 x | 298 ms | 3.3 x | 81 ms |12.3 x | 69 ms |14.5 x | > +-------------+-----------+--------+-------+--------+-------+--------+-------+--------+-------+ > | 4 kB | 786 ms | 312 ms | 2.5 x | 235 ms | 3.3 x | 64 ms |12.0 x | 50 ms |15.7 x | > +-------------+-----------+--------+-------+--------+-------+--------+-------+--------+-------+ > | 8 kB | 793 ms | 310 ms | 2.5 x | 235 ms | 3.4 x | 61 ms |13.0 x | 51 ms |15.5 x | > +-------------+-----------+--------+-------+--------+-------+--------+-------+--------+-------+ > | 16 kB | 1582 ms | 617 ms | 2.6 x | 467 ms | 3.4 x | 120 ms |13.2 x | 100 ms |15.8 x | > +-------------+-----------+--------+-------+--------+-------+--------+-------+--------+-------+ > > w. > Jak pamiętasz, zadałem na początku pytanie: czy przy odwracaniu kolejności bajtów BSWAP może się do czegoś przydać? Jaki wniosek?
Technical Details
Message-ID:
<hqrtv1$ouk$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mailReferences:
<20100422191115.9902fe58.wojciech_mula@poczta.null.onet.pl.invalid>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail From: Andrzej Grażyński <grazynsk@petex.com.pl> Newsgroups: pl.comp.lang.asm Subject: Re: Odwracanie kolejności bajtów w tablicy Date: Fri, 23 Apr 2010 12:48:58 +0200 Organization: http://onet.pl Lines: 46 Message-ID: <hqrtv1$ouk$1@news.onet.pl> References: <20100422191115.9902fe58.wojciech_mula@poczta.null.onet.pl.invalid> NNTP-Posting-Host: public-gprs80242.centertel.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1272019750 25556 91.94.186.232 (23 Apr 2010 10:49:10 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Fri, 23 Apr 2010 10:49:10 +0000 (UTC) User-Agent: Thunderbird 2.0.0.24 (Windows/20100228) In-Reply-To: <20100422191115.9902fe58.wojciech_mula@poczta.null.onet.pl.invalid> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit