Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #34508

Re: Jak zrobić test za pomocą PractRand?

Newsgroups pl.comp.programming
Date 2021-08-20 13:32 -0700
References (2 earlier) <1aabf0e1-8c01-4479-90fc-62d1026d221cn@googlegroups.com> <fcda7316-c8b0-445b-a5d5-2c8db0e2c939n@googlegroups.com> <59524bbe-00b1-4756-b359-19bb000e8641n@googlegroups.com> <2aec1845-1ec1-4e83-835a-ccc9aa089c23n@googlegroups.com> <f201e244-08b1-4ec6-977a-40aba70eac76n@googlegroups.com>
Message-ID <48a87319-4f87-4ace-b9e1-e8c9842514can@googlegroups.com> (permalink)
Subject Re: Jak zrobić test za pomocą PractRand?
From "M.M." <mmarszik@gmail.com>

Show all headers | View raw


On Friday, August 20, 2021 at 8:45:23 PM UTC+2, osobli...@gmail.com wrote:
> > Jeśli dane są w pliku binarnym to tak: 
> > cat dane_binarne.bin | ./PractRand stdin [tu wpisz opcje PractRand]
> Jakie są te opcje PractRand? Ja uruchamiam to w ten sposób: 
> 
> cat plik.data | ./RNG_test stdin 
> 
> Niestety zwiększenie rozmiaru pliku do 230 GB nie pomogło, a więcej nie zmieści mi się na dysku. Wciąż dziwią mnie te oblane testy, podczas, gdy wszystkie testy Dieharder ten generator zdawał. Albo PractRand jest o tyle bardziej wymagający, albo nadal coś jest nie tak.
> > > Wydaje mi się, że prędzej, niż ogarnę C++ zrobię odpowiedni plik. 
> > Można ,ale dobre testowanie wymaga dużo danych. Osobiście testowałem generatory minimum 
> > godzinę, maksimum (o ile pamiętam) dwa tygodnie na jednym wątku. Przez ten czas, szczególnie 
> > przez dwa tygodnie, generator jest w stanie wygenerować sporo liczb i program testowy sporo skonsumować. 
> > Liczby z dwóch tygodni nie wiem czy zmieszczą się na dysku.
> Na pewno się nie zmieszczą. Już osiągnąłem limit. Z jakichś powodów zresztą bardzo szybko udało mi się to wygenerować i zapisać do pliku (godzina z hakiem), tak jakby liczby w formacie binarnym zapisywały się szybciej. 50 GB liczb 32-bitowych w formacie dziesiętnym zapisywało mi się kilka godzin. 
> 
> Ile GB w takim przetestowałeś, skoro robiłeś testy nawet 2 tygodnie?
> > > Przepisanie kodu z Pythona do C++ musiałbym raczej komuś zlecić. 
> > Co tam konkretnie jest do napisania? Może coś podobnego jest to gotowe pod linkami które podałem?
> Przykładowy program: 
> 
> https://pastebin.com/K164URZQ 
> 
> Liczby 128-bitowe są tam ładowanie po prostu do listy allstream, ale oczywiście można to zaaranżować inaczej.
> > > Pytanie, czy będę w stanie wygenerować odpowiedni plik w odpowiednim czasie (bo pomimo, że generatory, które testuję są 
> > > jednymi z najszybszych na świecie, co do zasady są podobne do PCG generators, to Python nie dość, że bywa 50-100 razy 
> > > wolniejszy niż C++, to jeszcze do tego sam zapis do pliku trwa długo i jak szybki nie byłby generator - nie da się tego procesu 
> > > przyspieszyć). Ile PractRand potrzebuje danych? 
> > Zapis całego dużego dysku to np. jedna doba, ale zależy jaki szybki/duży dysk, może być godzina, może być tydzień. Trudno 
> > bez testów powiedzieć czy wolniejszy będzie zapis czy powolne generowanie najszybszym generatorem na świecie. PractRand 
> > tym lepiej testuje im więcej danych otrzyma.
> Ja zapisałem cały dysk w godzinę z hakiem.
> > > żeby generator nie oblewał testów (gdy danych było za mało plik był zawijany i do testów był brane w kółko te same liczby, do 
> > > powodowało oblewanie testów). A i tak zawijał niektóre próbki, tzw. " rewounds". 
> > Temat jest trudniejszy, może generator na małych zapętlonych danych przechodzić test, na na długich oblewać.
> W każdym razie wszystkie testy przy odpowiedniej ilości danych zdawał. Wystarczyło 50 GB danych, zapisanych w formacie dziesiętnym jako liczby 32-bitowe.
> > Chyba najlepiej odtworzyć te same dane losowe co były użyte w programie, aby mieć pewność że program 
> > pracował na losowych danych które przechodzą testy statystyczne.
> Używam tych samych danych. A mimo to w PractRand pełno testów jest niezdanych.
> > Zadziała, ale jeśli tester nie wspomaga plików tekstowych, to trzeba samemu napisać program który zamieni dane tekstowe na binarne. 
> > Potem dam przykładowy kod w C++, może dziś wieczorem, to kilka linijek.
> Wygenerowałem plik .data. Zapisałem tam liczby w formacie binarnym. Wszystko wskazuje na to, że to powinno działać. Może po prostu generator nie zdaje testów. Z drugiej jednak strony, jeśli Ty piszesz, że testowałeś generator nawet kilka dni, to jest nic w porównaniu z danymi, które ja dostarczyłem do testów, wygenerowanymi zaledwie w godzinę. Może po prostu jest ich za mało. Ale, czy 230 GB to za mało?
> > Teraz nie mogę, potem dam kod program który przekonwertuje plik tekstowy do binarnego. Proszę, pokaż ( i jeśli trzeba to opisz ) 
> > jak wygląda oryginalny plik tekstowy.
> Jeżeli zapisuję dane to pliku .txt, to wygląda to tak: 
> 
> "0101010101010001011110101010101011101001011111010110111110...01010101010101010010101010101001010101010100101010101011111" 
> 
> Po prostu pseudolosowy ciąg zer i jedynek, nic więcej.

Ok.

Pobierz ten plik źródłowy i skompiluj konwerter.
https://github.com/mmarszik/01ToBin/blob/main/main.cpp

Potem uruchom tak:

TwójGeneratorZerIJedynek | ./01ToBin | ./PractRand stdin

Albo gorzej tak:

cat PlikZerIJedynek | ./01ToBin | ./PractRand stdin

Nie testowałem, jak nie zadziała, to będzie trzeba sprawdzić czy konwerter nie ma jakiś błędów

Pozdrawiam



Back to pl.comp.programming | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-19 09:15 -0700
  Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-19 15:38 -0700
    Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-19 19:16 -0700
  Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-20 06:04 -0700
    Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-20 07:53 -0700
      Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-20 08:09 -0700
        Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-20 09:14 -0700
          Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-20 09:57 -0700
          Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-20 10:26 -0700
            Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-20 11:45 -0700
              Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-20 13:32 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-20 14:56 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-20 15:11 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-20 15:20 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-20 15:27 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-20 15:49 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-20 16:55 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 02:40 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 04:27 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 08:51 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 09:30 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 10:16 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 12:24 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 12:48 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 12:57 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 13:55 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 13:58 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 14:22 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 14:35 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 14:37 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 14:42 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 15:17 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 17:31 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 17:37 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 17:44 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 17:32 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 17:43 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 17:47 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 17:54 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 17:58 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 18:10 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 20:08 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-22 01:39 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-22 05:01 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-22 06:08 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-22 09:41 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-22 11:59 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-22 13:06 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-22 13:17 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-22 13:58 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-22 14:28 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-22 15:29 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-22 16:06 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-22 15:58 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-22 17:08 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-22 20:23 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-23 02:18 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-23 05:31 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-23 06:05 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-23 06:21 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-23 06:58 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-23 12:11 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-23 13:29 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-23 13:47 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-23 14:06 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-23 14:19 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-23 14:46 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-23 15:27 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-23 15:54 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-23 16:43 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-24 02:46 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-24 07:20 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-24 07:26 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-24 07:42 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-24 08:49 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-24 09:15 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-24 19:15 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-24 19:24 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-26 14:45 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-26 15:52 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-29 07:29 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-30 12:38 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-30 15:57 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-30 17:31 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-09-22 17:28 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-09-22 17:55 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-30 17:36 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-31 01:04 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2023-06-16 04:32 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2023-06-16 05:05 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2023-06-16 05:07 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2023-06-16 05:11 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2023-06-20 20:48 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-24 09:05 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 17:33 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 17:46 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 17:56 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 14:31 -0700
                Re: Jak zrobić test za pomocą PractRand? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-08-21 07:53 -0700
                Re: Jak zrobić test za pomocą PractRand? "M.M." <mmarszik@gmail.com> - 2021-08-21 08:18 -0700

csiph-web