jtest - mój program testowy
jtest - mój program testowy
Mając dziś chwilę napisałem pewien programik - coś jak benchmark ale operujący na kilku rdzeniach. Nie powala efektami ale ma jedna zaletę - jest w całości oparta na mnożeniu dość sporych rozmiarów macierzy z użyciem pthread. Standardowo mnożone są dwie macierze o rozmiarze 1500 x 1500 el. co daje 5.0625 ^ 12 mnożeń zmiennoprzecinkowych. Efektem testu jest czas, który to można bezpośrednio porównywać.
Programik sam wykrywa ilość rdzeni, o ile wszystko idzie po jego myśli ;}
Zapraszam do testowania, przeglądania kodu i pisania uwag do efektów działania.
Pozdrawiam.
Programik sam wykrywa ilość rdzeni, o ile wszystko idzie po jego myśli ;}
Zapraszam do testowania, przeglądania kodu i pisania uwag do efektów działania.
Pozdrawiam.
Kod: Zaznacz cały
wykryto rdzeni:: 2
rozpoczynam test
rozmiar danych wynosi 1500
zestaw danych domyślny.
pracuje...
czas :: 27.36 sek.
E tam komentarze, zawsze piszę bez, nie lubię zbędnego tekstu.
U siebie w laptopie mam 2 rdzenie i liczy niecałą minutę ale wiadomo, że co mobilne to wychudzone.
Sprawdzałem na uczelni teraz, a mamy tam maszynę 8-mio procesorową, czas jest kapkę nieliniowy co zdaje się być nawet logiczne ;}
Może szału nie ma ale można w łatwy sposób porównać moce dwóch procesorów jeśli chodzi o proste operacje.
U siebie w laptopie mam 2 rdzenie i liczy niecałą minutę ale wiadomo, że co mobilne to wychudzone.
Sprawdzałem na uczelni teraz, a mamy tam maszynę 8-mio procesorową, czas jest kapkę nieliniowy co zdaje się być nawet logiczne ;}
Może szału nie ma ale można w łatwy sposób porównać moce dwóch procesorów jeśli chodzi o proste operacje.
Kod: Zaznacz cały
grzesiek@home:~/tmp/jtest$ ./jtest
wykryto rdzeni:: 4
rozpoczynam test
rozmiar danych wynosi 1500
zestaw danych domyslny.
pracuje...
czas :: 15.0025 sek.
grzesiek@home:~/tmp/jtest$
Dla mojego Athlona 2000+ to chyba za dużo :-)
Kod: Zaznacz cały
maly@debian:~/Deb/test$ ./jtest
wykryto rdzeni:: 1
rozpoczynam test
rozmiar danych wynosi 1500
zestaw danych domyslny.
pracuje...
czas :: 161.7 sek.
Kiedyś pisałem coś podobnego, ale wtedy jeszcze nie było rdzeni ;-).
Program generuje permutacje i kombinacje, Miałem tez taki w wersji okienkowej ale on był w C++ Builder.
Pomoc do niego to ./gen -h
Przekazując wynik działania do pliku kiedyś w szkole zapełniałem dysk w 5 min :mrgreen:
W załączniku kod, może się komuś przyda.
Program generuje permutacje i kombinacje, Miałem tez taki w wersji okienkowej ale on był w C++ Builder.
Pomoc do niego to ./gen -h
Przekazując wynik działania do pliku kiedyś w szkole zapełniałem dysk w 5 min :mrgreen:
W załączniku kod, może się komuś przyda.
Kod: Zaznacz cały
void *licz_suke(void *threadarg)
Kod: Zaznacz cały
wykryto rdzeni:: 1
rozpoczynam test
rozmiar danych wynosi 1500
zestaw danych domyslny.
pracuje...
czas :: 554.26 sek.