-
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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=