🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216584

Re: Ile zajmie komputerowi mnożenie liczb rzędu 2^128

#216584
From: osobliwy nick
Date: Sat, 14 Dec 2019 00:59
22 lines
3784 bytes
W dniu piątek, 13 grudnia 2019 08:34:44 UTC+1 użytkownik Piotr Chamera napisał:
> W dniu 2019-12-13 o 06:42, osobliwy nick pisze:
> > 166 mikrosekund wziąłem z wyliczeń Piotra Chamera. Z tego co Ty napisałeś wynika zaś, że można to zrobić 50 razy szybciej. 10 nanosekund dla 64-bitowych liczb na iterację, dla 128-bitowych - 3 razy wolniej, czyli 30 nanosekund. To daje 128*30=3840 nanosekund na 128 iteracji (czyli 3,84 mikrosekund). Wówczas wychodzi:
> > 
> > 1000000/3,84*128/20*1/2^20 = 1,59 MB/s
> > 
> > Nie rozumiem w takim razie tylko skąd taka rozbieżność pomiędzy tym co piszesz Ty, a tym co policzył Piotra Chamera.
> 
> Muszę się odezwać, bo tu jakieś absurdy wychodzą. Napisałem na szybko 
> zupełnie niezoptymalizowany program, który policzył przykładowy algorytm 
> w 166 ms. O czym to świadczy? Tylko o tym, że bez wysiłku można taki 
> czas uzyskać. Trzeba też wziąć pod uwagę, że jest to program zupełnie 
> bez ograniczeń na to jak duże są liczby, czy są całkowite itp.
> 
> Kolega fir oszacował, że ten sam algorytm można policzyć wielokrotnie 
> szybciej i to też prawda. Szczególnie jeśli da się ustalić, że wszystko 
> da się np. policzyć na 128 bitowych liczbach całkowitych bez znaku :)
> O ile to będzie szybciej okaże się kiedy ktoś to napisze w konkretnym 
> języku, skompiluje i uruchomi na konkretnym procesorze (50 razy szybciej 
> względem mojego przykładu jest jak najbardziej realne :).

Ok, rozumiem. Nie sądziłem, że rozbieżności w zależności od tego jak napiszemy program mogą być aż tak duże. Dobrze jednak, że istnieje potencjał na usprawnienie tego aż o powiedzmy 2 rzędy wielkości. Reszta jest, jak rozumiem, kwestią konkretnych testów. Będę myślał zatem o takich testach, na razie jednak takie wstępne szacunki mi wystarczą. Wcześniej mam do rozwiązania jeszcze kilka innych problemów związanych z algorytmem.
Technical Details
Message-ID: <5326635d-64fb-484e-ba32-fd5adffde5e0@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin1!goblin.stu.neva.ru!g89no803614qtd.0!news-out.google.com!w29ni1296qtc.0!nntp.google.com!g89no803612qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <b7426ee8-be56-48fc-9657-da5a18e0729b@googlegroups.com> <qs878c$luk$1@dont-email.me> <5b01b3a8-9042-4203-871a-13f166f671dd@googlegroups.com> <deb8cf44-96c2-4bfa-8b78-a1c4a28440ec@googlegroups.com> <862ac5c6-5ac5-4915-a8dc-77669b7b1cfd@googlegroups.com> <8db2ea36-8d5e-4eec-8fb2-819658614d57@googlegroups.com> <624af684-7168-4de7-a37b-fe77566845b0@googlegroups.com> <2833b474-3c9c-4562-8138-2812fd55a70a@googlegroups.com> <e4e5ba4b-11cd-4d3e-a7a9-84d858d96f9b@googlegroups.com> <0fc59400-31f6-4b9d-9253-da0a06bbe203@googlegroups.com> <a8322dc9-9879-4a6d-b0e8-1a47cdef5408@googlegroups.com> <qsveui$eop$1@dont-email.me>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a0c:acc2:: with SMTP id n2mr16056121qvc.225.1576285195033;        Fri, 13 Dec 2019 16:59:55 -0800 (PST)
X-Received: by 2002:ac8:5155:: with SMTP id h21mr14938097qtn.174.1576285194903; Fri, 13 Dec 2019 16:59:54 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin1!goblin.stu.neva.ru!g89no803614qtd.0!news-out.google.com!w29ni1296qtc.0!nntp.google.com!g89no803612qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 13 Dec 2019 16:59:54 -0800 (PST)
In-Reply-To: <qsveui$eop$1@dont-email.me>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=212.61.146.170; posting-account=5sNFBgoAAAAxlae8lv99mPyGsDs6ynwB
NNTP-Posting-Host: 212.61.146.170
References: <b7426ee8-be56-48fc-9657-da5a18e0729b@googlegroups.com> <qs878c$luk$1@dont-email.me> <5b01b3a8-9042-4203-871a-13f166f671dd@googlegroups.com> <deb8cf44-96c2-4bfa-8b78-a1c4a28440ec@googlegroups.com> <862ac5c6-5ac5-4915-a8dc-77669b7b1cfd@googlegroups.com> <8db2ea36-8d5e-4eec-8fb2-819658614d57@googlegroups.com> <624af684-7168-4de7-a37b-fe77566845b0@googlegroups.com> <2833b474-3c9c-4562-8138-2812fd55a70a@googlegroups.com> <e4e5ba4b-11cd-4d3e-a7a9-84d858d96f9b@googlegroups.com> <0fc59400-31f6-4b9d-9253-da0a06bbe203@googlegroups.com> <a8322dc9-9879-4a6d-b0e8-1a47cdef5408@googlegroups.com> <qsveui$eop$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5326635d-64fb-484e-ba32-fd5adffde5e0@googlegroups.com>
Subject: Re: Ile zajmie komputerowi mnożenie liczb
 rzędu 2^128
From: osobliwy nick <osobliwy.nick@gmail.com>
Injection-Date: Sat, 14 Dec 2019 00:59:55 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit