Article View: pl.comp.programming
Article #217889Re: Ile cykli zajmuje mnożenie liczb 64-bitowych?
From: Wojciech Muła
Date: Mon, 22 May 2023 17:30
Date: Mon, 22 May 2023 17:30
12 lines
2967 bytes
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-mailReferences:
<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