🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217889

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

#217889
From: Wojciech Muła
Date: Mon, 22 May 2023 17:30
12 lines
2967 bytes
On Monday, May 15, 2023 at 6:02:33 PM UTC+2, osobli...@gmail.com wrote:
> Swoją drogą jak biorę wartości z tych tabel: 
> 
> https://www.agner.org/optimize/instruction_tables.pdf 
> 
> Mam brać pod uwagę sumę Ops i Latency?

Pytałeś już o to dwa lata temu. I nie, ops i latency to dwie **kompletnie** różne rzeczy - przeczytaj dokładnie opisy kolumn.

Można teoretycznie oszacować throughput małego kawałka kodu (np. na https://uica.uops.info), można nawet oszacować dolne ograniczenie latency ze ścieżki krytycznej. Między Tobą a ISA jest kompilator, runtime, system operacyjny i wg mnie warto mierzyć czas wykonania dla dużej liczby iteracji, eksprymentując z ustawieniami kompilatora. Od wielu lat używam tego zestawu makr do mierzenia cykli: https://github.com/WojciechMula/toys/blob/master/000helpers/benchmark.h. Możesz zobaczyć w tym repo jak z tego korzystać, np. tutaj: https://github.com/WojciechMula/toys/blob/master/avx512-varuint/benchmark.cpp#L41

w.
Technical Details
Message-ID: <91561a72-2a65-44c8-ad6f-9a23697afc27n@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!69.80.99.11.MISMATCH!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <986309a4-5abd-46de-9d99-25bf51ba6144n@googlegroups.com> <u3o5jn$248lr$1@dont-email.me> <ae1c2360-6eb1-47bc-b3e1-9b5b58b8e7f3n@googlegroups.com> <f875c31f-359e-4600-82a1-396a79d88eb7n@googlegroups.com> <u3q9gj$2jdsa$1@dont-email.me> <c25f6d1d-8b3f-4abb-9f95-cc4f4e355474n@googlegroups.com> <u3t721$32043$2@dont-email.me> <cf5f9f4f-8639-46ab-ad27-1c3f5ea78c47n@googlegroups.com> <b924d147-7384-4c59-bf13-8080061a15b8n@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:5c4d:0:b0:3f6:abf3:d716 with SMTP id j13-20020ac85c4d000000b003f6abf3d716mr1713922qtj.2.1684776630116; Mon, 22 May 2023 10:30:30 -0700 (PDT)
X-Received: by 2002:a81:b147:0:b0:54c:2409:c306 with SMTP id p68-20020a81b147000000b0054c2409c306mr6506693ywh.6.1684776629782; Mon, 22 May 2023 10:30:29 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!69.80.99.11.MISMATCH!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 22 May 2023 10:30:29 -0700 (PDT)
In-Reply-To: <b924d147-7384-4c59-bf13-8080061a15b8n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2a01:112f:430c:e00:1167:7fac:5523:a8a8; posting-account=VFwkXwoAAADdT4-lLKRZrMYkTjizGoyn
NNTP-Posting-Host: 2a01:112f:430c:e00:1167:7fac:5523:a8a8
References: <986309a4-5abd-46de-9d99-25bf51ba6144n@googlegroups.com> <u3o5jn$248lr$1@dont-email.me> <ae1c2360-6eb1-47bc-b3e1-9b5b58b8e7f3n@googlegroups.com> <f875c31f-359e-4600-82a1-396a79d88eb7n@googlegroups.com> <u3q9gj$2jdsa$1@dont-email.me> <c25f6d1d-8b3f-4abb-9f95-cc4f4e355474n@googlegroups.com> <u3t721$32043$2@dont-email.me> <cf5f9f4f-8639-46ab-ad27-1c3f5ea78c47n@googlegroups.com> <b924d147-7384-4c59-bf13-8080061a15b8n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <91561a72-2a65-44c8-ad6f-9a23697afc27n@googlegroups.com>
Subject: Re: Ile cykli zajmuje mnożenie liczb 64-bitowych?
From: Wojciech Muła <wojtek.mula@gmail.com>
Injection-Date: Mon, 22 May 2023 17:30:30 +0000
Lines: 23
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit