-
Data: 2021-08-20 20:45:22
Temat: Re: Jak zrobić test za pomocą PractRand?
Od: "o...@g...com" <o...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> 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:
"010101010101000101111010101010101110100101111101011
0111110...010101010101010100101010101010010101010101
00101010101011111"
Po prostu pseudolosowy ciąg zer i jedynek, nic więcej.
Następne wpisy z tego wątku
- 20.08.21 22:32 M.M.
- 20.08.21 23:56 o...@g...com
- 21.08.21 00:11 M.M.
- 21.08.21 00:20 o...@g...com
- 21.08.21 00:27 o...@g...com
- 21.08.21 00:49 M.M.
- 21.08.21 01:55 o...@g...com
- 21.08.21 11:40 M.M.
- 21.08.21 13:27 M.M.
- 21.08.21 16:53 o...@g...com
- 21.08.21 17:18 M.M.
- 21.08.21 17:51 o...@g...com
- 21.08.21 18:30 M.M.
- 21.08.21 19:16 o...@g...com
- 21.08.21 21:24 o...@g...com
Najnowsze wątki z tej grupy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- 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
Najnowsze wątki
- 2025-05-11 Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- 2025-05-11 Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- 2025-05-11 obca rejestracja budzi agresję
- 2025-05-11 Po nie udanej próbie egzekucji: Nigeryjczyk, który chciał zabić Polaka, nie odpowie za atak
- 2025-05-10 Szczecin => Key Account Manager IT <=
- 2025-05-10 Rudno => Administrator sieci IT <=
- 2025-05-10 Wrocław => Controlling systems Consultant <=
- 2025-05-10 Rudno => IT network administrator <=
- 2025-05-10 Warszawa => Customer Service with Spanish + translation <=
- 2025-05-10 Warszawa => Senior Account Manager <=
- 2025-05-10 Trójmiasto => Head of Social Media <=
- 2025-05-10 Warszawa => C Programmer <=
- 2025-05-10 Warszawa => Java Developer <=
- 2025-05-10 powąchaj instrybutor
- 2025-05-10 Prawomocny wyrok. Rowerzysta nie ma pierwszeństwa, dojeżdżając do przejazdu