🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217879

Re: Ile cykli zajmuje mnożenie liczb 64-bitowych?

#217879
From: Bogdan
Date: Sat, 13 May 2023 14:07
35 lines
2756 bytes
On 11/05/2023 16:28, osobli...@gmail.com wrote:
> Znalazłem dwa źródła:
> 
> http://www.phys.ufl.edu/~coldwell/MultiplePrecision/fpvsintmult.htm
> 
> https://stackoverflow.com/questions/21819682/is-integer-multiplication-really-done-at-the-same-speed-as-addition-on-a-modern
> 
> W jednym piszą, że to jest 20 cykli. W drugim 2-4 cykle (dla liczb 32-bitowych, dla 64-bitowych będzie dwa razy więcej?). Chcę zgrubnie oszacować liczbę cykli przypadającą na dwa różne algorytmy. Na przykład:
> 
> https://prng.di.unimi.it/xoroshiro128plusplus.c
> 
> Ale w drugim algorytmie mam mnożenie dwóch uint64_t. I nie wiem ile cykli mniej więcej przyjąć.


  Być może to nieoczywiste, ale jaka architektura? Na amd64 mnożenie 
liczb 64-bitowych (czyli o wielkości rejestru) będzie zapewne o wiele 
szybsze, niż na systemach 32-bitowych, o 16-bitowych nie wspominając.

We floating point może bym nie szedł, bo może być utrata precyzji, no 
i trzeba konwertować.

Tak czy siak, pierwszy link z wyszukiwarki zapytanej o "intel 
instruction latencies", zakładając, że jednak chodzi o architekturę 
x86/x64: www.agner.org/optimize/instruction_tables.pdf.
  Wybieram losowo procesor Haskell: MUL: czas: 3-4 cykli, 
przepustowość: 0,5-1 instrukcji na cykl.

  Najlepiej pobierz dokument i wybierz stosowny procesor.


-- 
Pozdrawiam/Regards - Bogdan                     (GNU/Linux & FreeDOS)
Kurs asemblera x86 (DOS, GNU/Linux):            http://bogdro.evai.pl
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
www.Xiph.org www.TorProject.org  Soft(EN): http://bogdro.evai.pl/soft
Technical Details
Message-ID: <u3o5jn$248lr$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
References: <986309a4-5abd-46de-9d99-25bf51ba6144n@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Bogdan <bogdan@poczta.invalid>
Newsgroups: pl.comp.programming
Subject: Re: Ile cykli zajmuje mnożenie liczb 64-bitowych?
Date: Sat, 13 May 2023 16:07:51 +0200
Organization: A noiseless patient Spider
Lines: 36
Message-ID: <u3o5jn$248lr$1@dont-email.me>
References: <986309a4-5abd-46de-9d99-25bf51ba6144n@googlegroups.com>
MIME-Version: 1.0
Injection-Date: Sat, 13 May 2023 14:07:51 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="12da9ac0b541f854b011a2aa372b4e53"; logging-data="2237115"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18rNVU6xibCVigJLFUpb3uL"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0
Cancel-Lock: sha1:yoqGyEJoq8SqBlvxeHWMuNmqdvs=
In-Reply-To: <986309a4-5abd-46de-9d99-25bf51ba6144n@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit