-
X-Received: by 2002:a37:a413:: with SMTP id n19mr2191568qke.461.1632356904726; Wed,
22 Sep 2021 17:28:24 -0700 (PDT)
X-Received: by 2002:a37:a413:: with SMTP id n19mr2191568qke.461.1632356904726; Wed,
22 Sep 2021 17:28:24 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!weretis.net!
feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.gig
anews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups
.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 22 Sep 2021 17:28:24 -0700 (PDT)
In-Reply-To: <1...@g...com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.169.12.87;
posting-account=5sNFBgoAAAAxlae8lv99mPyGsDs6ynwB
NNTP-Posting-Host: 77.169.12.87
References: <6...@g...com>
<0...@g...com>
<1...@g...com>
<f...@g...com>
<5...@g...com>
<2...@g...com>
<f...@g...com>
<4...@g...com>
<5...@g...com>
<6...@g...com>
<e...@g...com>
<c...@g...com>
<0...@g...com>
<c...@g...com>
<4...@g...com>
<7...@g...com>
<9...@g...com>
<2...@g...com>
<1...@g...com>
<9...@g...com>
<d...@g...com>
<b...@g...com>
<b...@g...com>
<f...@g...com>
<0...@g...com>
<8...@g...com>
<f...@g...com>
<a...@g...com>
<b...@g...com>
<2...@g...com>
<c...@g...com>
<8...@g...com>
<a...@g...com>
<d...@g...com>
<d...@g...com>
<2...@g...com>
<b...@g...com>
<1...@g...com>
<7...@g...com>
<1...@g...com>
<d...@g...com>
<9...@g...com>
<5...@g...com>
<4...@g...com>
<c...@g...com>
<1...@g...com>
<5...@g...com>
<8...@g...com>
<5...@g...com>
<a...@g...com>
<6...@g...com>
<6...@g...com>
<2...@g...com>
<6...@g...com>
<d...@g...com>
<f...@g...com>
<9...@g...com>
<6...@g...com>
<8...@g...com>
<8...@g...com>
<e...@g...com>
<d...@g...com>
<1...@g...com>
<3...@g...com>
<a...@g...com>
<0...@g...com>
<8...@g...com>
<1...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b...@g...com>
Subject: Re: Jak zrobić test za pomocą PractRand?
From: "o...@g...com" <o...@g...com>
Injection-Date: Thu, 23 Sep 2021 00:28:24 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 42
Xref: news-archive.icm.edu.pl pl.comp.programming:215741
[ ukryj nagłówki ]> Nawiasem pisząc, mi się spodobał generator whyhash. Dostałem do niego link
> tutaj na grupie. Jest ekstremalnie prosty, a zatem i ekstremalnie szybki:
>
> https://github.com/mmarszik/MRndCPP/blob/master/rnd_
wyhash64.h
>
> U mnie przeszedł test na ponad 11.5 terabajta danych:
> [
> rng=RNG_stdin, seed=0x4175954b
> length= 11.544 terabytes (2^43.529 bytes), time= 345602 seconds no anomalies in 327
test result(s)
> real 5760m3.249s
> user 5636m4.175s
> sys 121m47.242s
> ]
>
> https://github.com/mmarszik/MRndCPP/blob/master/use_
rnd_wyhash64_0.h
Przyjrzałem się dzisiaj temu wyhash64 i działa bardzo podobnie do moich generatorów,
a także generatorów PCG (Melissy O'Neil), tyle, że ja wprowadzam jeszcze rotacje poza
xorowaniem niskich i wysokich bitów (podobnie jak w PCG XSL-RR-RR). Prędkości moich
generatorów są porównywalne z wyhash64. Tyle, że tak jak pisałem według moich
wstępnych ustaleń (nie wiem, czy wszystkie klucze są tak samo dobre) moje generatory
(128-bitowe) można parametryzować za pomocą 2^256 różnych kluczy, czyli można uzyskać
2^256 różnych generatorów (a w każdym generatorze wciąż możemy oczywiście użyć
różnych seedów).
wyhash64 wydaje się być jednym z najszybszych generatorów obecnie na rynku, które
zdają testy (nie licząc prostego lehmer64):
https://github.com/lemire/testingRNG
Jedną z szybkich, świeżych propozycji jest generator ROMU:
https://www.romu-random.org/romupaper.pdf
ale ze względu na rotacje, to chyba nie będzie szybsze niż wyhash.
Następne wpisy z tego wątku
- 23.09.21 02:55 o...@g...com
- 16.06.23 13:32 o...@g...com
- 16.06.23 14:05 o...@g...com
- 16.06.23 14:07 o...@g...com
- 16.06.23 14:11 o...@g...com
- 21.06.23 05:48 o...@g...com
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-03 a Ty jak się zachowasz w godzinie próby?
- 2025-03-03 nie naprawiam więcej telewizorów
- 2025-03-03 Białystok => Gen AI Engineer <=
- 2025-03-03 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-03 Olsztyn => Sales Specialist <=
- 2025-03-03 Gdy ministrowie sa golodupcami
- 2025-03-03 Pruszków => Specjalista ds. public relations <=
- 2025-03-03 Białystok => System Architect (Java background) <=
- 2025-03-03 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-03 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-03-03 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-03 Mińsk Mazowiecki => Area Sales Manager OZE <=