-
Data: 2021-09-23 02:28:24
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "o...@g...com" <o...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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-12-18 Katowice => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-18 Poznań => Dyspozytor Międzynarodowy <=
- 2024-12-18 Katowice => System Architect (background deweloperski w Java) <=
- 2024-12-18 Gdańsk => System Architect (Java background) <=
- 2024-12-18 Warszawa => Helpdesk Specialist <=
- 2024-12-18 Katowice => Kierownik Działu Zarządzania Platformą Wirtualizacji i
- 2024-12-18 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-18 Żerniki => Employer Branding Specialist <=
- 2024-12-18 Gliwice => Specjalista ds. public relations <=
- 2024-12-18 Kablówka z modułem CAM
- 2024-12-18 Warszawa => Spedytor międzynarodowy <=
- 2024-12-18 Wróblewo => Analityk finansowy <=
- 2024-12-18 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-12-18 Lublin => Delphi Programmer <=
- 2024-12-18 Bieruń => Team Lead / Tribe Lead FrontEnd <=