Kerbal Space Program Forum | Polska Społeczność Gry

Off-topic => Dyskusje na dowolne tematy => Wątek zaczęty przez: oli00PL w Nie, 03 Lis 2013, 16:26:24

Tytuł: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: oli00PL w Nie, 03 Lis 2013, 16:26:24
Z ciekawości stworzyłem o to i taki program:
http://przeklej.net/down/1967857449527736224213656240446992806c57239f4ccc485d39ae1.html
( w archiwum jest też plik z kodem )
Działa on następująco - wykonuje 5 razy określone obliczenia, za każdym razem oblicza ich czas.
Potem wypisuje go na ekran i podaje średnią.
zajmuje to około 1 minuty, w tym czasie nie należy ściągać go na "pasek", zakłóci to obliczenia ( zmniejszy się priorytet programu ).
Teoretycznie pozwala on sprawdzić moc procesora.

Bardzo proszę o sprawdzenie jego działania i wypisanie średniej oraz specyfikacji procesora i ramu ( choć ram raczej niewiele zmienia. )

Jeśli zrobi to więcej niż 15 osób, rozlosuję między nimi key do Crysisa 2. ( Być może będę musiał go modyfikować i testować ponownie, dla tego też będą uwzględnione wszystkie osoby które testowały co najmniej 2 wersje ).

DOWNLOAD:
ProcekTestV.1
http://przeklej.net/down/1967857449527736224213656240446992806c57239f4ccc485d39ae1.html
ProcekTestV.2
http://przeklej.net/down/9920040974981791596362064630368363286186ad26890c460751d91.html
ProcekTestV.2x86 ( wersja 32 bit ):
http://przeklej.net/down/77261392026623794920142528542491528aab2545cf23e43825f1e17.html
Tytuł: Re: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: Zerdzio w Nie, 03 Lis 2013, 16:44:13
No no, ładnie, to mój wynik: 8.5916 (średnia)
Edit:
Procesor: Intel Core I3-2120 3.30GHz
Ram: Nie mam zielonego pojęcia gdzie to sprawdzić, wiem tylko że 4gb
Tytuł: Re: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: Bigmikepl w Nie, 03 Lis 2013, 16:55:58
moja Średnia 13.85
Tytuł: Re: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: oli00PL w Nie, 03 Lis 2013, 17:00:41
a specyfikacja procesora i ram?
Tytuł: Re: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: Schulze13 w Nie, 03 Lis 2013, 17:56:05
Możesz napisać jakie obliczenia wykonuje program? Chce widzieć co mi grzeje procesor
Tytuł: Re: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: oli00PL w Nie, 03 Lis 2013, 18:40:28
a = 1000000;
b = 1000000;
c = 0;
c = a * b;
cout << c << endl;
cout wypisuje "c" na ekran, całość wykonuje się 100 000 razy, za każdym razem "a" i "b" zwiększają się o 1000.
Niestety, aplikacja sprawdza tylko 1 rdzeń, I-3 Zerdzia jest w ten sposób lepsza niż moja I-5-3330.
Aktualnie pracuję nad wykorzystaniem 100% mocy przynajmniej jednego rdzenia. Idzie to dość topornie ale jakoś.

Tu masz cały kod, wyżej podałem to w uproszczeniu bo nie każdy ogarnia C++.
Kod: (C++) Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <conio.h>
using namespace std;
int const czasy = 5;
int test ()
{
unsigned long long a = 1000000;
unsigned long long b = 1000000;
int endend = 0;
unsigned long long c = 0;
int end = 0;
while ( endend < 100000 )
{
endend++;
while ( end < 1000 )
{
end++;
a++;
b++;
}
end = 0;
c = a * b;
cout << c << endl;
}
}
int main ()
{
double czas [czasy];
int a = 0;
while ( a < 5 )
{
test ();
czas [a] = (double)clock() / CLOCKS_PER_SEC;
a++;
}
cout << "czas wykonania:" << endl;
cout <<"1:\n" << czas[0]<< endl;
czas[1] = czas[1] - czas[0];
cout << "2:\n" << czas [1]<< endl;
czas [2] = czas[2] - czas [1] - czas [0];
cout << "3:\n" << czas [2] << endl;
czas [3] = czas[3] - czas [2] - czas [1] - czas [0];
cout << "4:\n" << czas [3] << endl;
czas [4] = czas [4] - czas [3] - czas [2] - czas [1] - czas [0];
cout << "5:\n" << czas [4] << endl;
double srednia = czas [4] + czas [3] + czas [2] + czas [1] + czas [0];
srednia = srednia / 5;
cout << "srednia:" << endl << srednia << endl;
cout << "nacisnij dowolny klawisz" << endl;
getch ();
return 0;
}
Tytuł: Re: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: Schulze13 w Nie, 03 Lis 2013, 22:09:39
Myślałem, że programista c++ będzie wiedział, że nie liczy się łącznej mocy wielordzeniowego procesora. Sprawa wygląda tak, że każdy rdzeń to tak jakby inny procesor. Dlatego się łączy się mocy poszczególnych rdzeni. W praktyce komputer nie przekaże wykonania dwóm rdzeniom jednego programu. Oczywiście są programy które obsługują wiele rdzeni, ale to jest już wielowątkowość.

Jeżeli chcesz wykorzystać 100% mocy to będziesz miał problem. Na wszystkich forach 100% zużycie procesora jest komentowane negatywnie. Po za tym nie tylko twój program korzysta z procesora. Każdy program aktualnie uruchomiony w pewnym stopniu używa procesora.

btw Nagroda? Po co? To tylko program liczący ile wykonuje działanie matematyczne

Edit:

Kod: Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
czas wykonania:
1:
65.251
2:
72.59
3:
64.779
4:
15.592
5:
15.134
srednia:
46.6692
nacisnij dowolny klawisz

(http://i.imgur.com/G9ZWIf6.png)
Wykorzystanie procka: do 8%, średnio 4%, min 0%

Drugi test:

Kod: Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
czas wykonania:
1:
67.934
2:
47.102
3:
58.75
4:
58.692
5:
58.772
srednia:
58.25
nacisnij dowolny klawisz

Samo naciśnięcie paska przewijania powoduje zatrzymanie obliczeń
Tytuł: Re: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: Folv w Nie, 03 Lis 2013, 22:22:29
Już miałem uruchomić ale ... plik "ProcekTestv.1.exe" waży ok 6.5MB a patrząc na kod powinien z 70k?
Do jest w tym pliku że tyle zajmuje ?
Tytuł: Re: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: Schulze13 w Nie, 03 Lis 2013, 22:31:56
Ponieważ program kod to skrótowy zapis operacji które ma wykonać procesor. Po za tym w program wkompilowywują się biblioteki i inne rzeczy
Tytuł: Re: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: oli00PL w Nie, 03 Lis 2013, 22:37:04
Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
Myślałem, że programista c++ będzie wiedział, że nie liczy się łącznej mocy wielordzeniowego procesora. Sprawa wygląda tak, że każdy rdzeń to tak jakby inny procesor. Dlatego się łączy się mocy poszczególnych rdzeni. W praktyce komputer nie przekaże wykonania dwóm rdzeniom jednego programu. Oczywiście są programy które obsługują wiele rdzeni, ale to jest już wielowątkowość.

Jeżeli chcesz wykorzystać 100% mocy to będziesz miał problem. Na wszystkich forach 100% zużycie procesora jest komentowane negatywnie. Po za tym nie tylko twój program korzysta z procesora. Każdy program aktualnie uruchomiony w pewnym stopniu używa procesora.

btw Nagroda? Po co? To tylko program liczący ile wykonuje działanie matematyczne

Edit:

Kod: Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
czas wykonania:
1:
65.251
2:
72.59
3:
64.779
4:
15.592
5:
15.134
srednia:
46.6692
nacisnij dowolny klawisz

(http://i.imgur.com/G9ZWIf6.png)
Wykorzystanie procka: do 8%, średnio 4%, min 0%

Drugi test:

Kod: Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
czas wykonania:
1:
67.934
2:
47.102
3:
58.75
4:
58.692
5:
58.772
srednia:
58.25
nacisnij dowolny klawisz

Samo naciśnięcie paska przewijania powoduje zatrzymanie obliczeń
Nie o to chodzi, chodzi o użycie 100% jednego rdzenia ( czyli u mnie 25% mocy całego procesora ) wielowątkowość mogła by znacznie skomplikować program.
a co do nagrody... nie mam co z tym keyem zrobić :)

poza tym, ten program to tylko mały eksperyment. Na razie dzieją się dziwne rzeczy - wcześniej ( koło 17 ) średnia komputera wynosiła 13 sek, teraz 30-40  :o

prawdopodobnie zmienię jego działanie, ale potrzebuję wielu testów aby mieć porównanie.

Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
Już miałem uruchomić ale ... plik "ProcekTestv.1.exe" waży ok 6.5MB a patrząc na kod powinien z 70k?
Do jest w tym pliku że tyle zajmuje ?
kiedy ostatnio pobierałem zajmował 1.3 mb.
Rano, albo popołudniu przetestuję go jeszcze raz i przebuduję tak aby dawał podobne wyniki na danym sprzęcie.



Post scalony: Pon, 04 Lis 2013, 09:06:18
Aktualizacja!
Po wielu godzinach prób udało mi się osiągnąć upragnione 25% mocy procesora, oznacza to użycie 100% jednego z 4 rdzeni mojego procesora.

Nowy program wykonuje pewne obliczenia, przez 10 sek. po dziesięciu sekundach ilość wykonanych obliczeń jest dzielona przez 100 000, i wypisuje go na ekran. Później prosi o podanie liczby rdzeni procesora, i mnoży wynik przez liczbę rdzeni.
(http://s6.postimg.org/sx2oidxnl/2013_11_04_08h35_00.png)

Test należy wykonać następująco:
(http://s6.postimg.org/57d8toza9/2013_11_04_08h45_15.png)
w czasie obliczeń będzie widoczny tylko kursor - zrezygnowałem z wyświetlania ich na ekranie. Późnij odpali się okno informacyjne.
jako główne okno ustaw okno testera, w tle odpal menedżer zadań, i obserwować program "ProcekTestV.2".
Następnie wypisać ( w poście w tym wątku _ wynik ogólny i wynik pomnożony przez liczbę rdzeni ( prawdziwą ), oraz użycie procesora w czasie obliczeń. Najlepiej wykonać test 2 razy.
No i oczywiście sprzęt ( procek i ram, pełna nazwa procesora i jego moc w GHz + ilość ram w GB )

Na osobę która będzie uczestniczyć we wszystkich testach czeka zwiększenie prawdopodobieństwa wygranej. O ile we wszystkich testach weźmie 15 osób ( liczy się każdy kto co najmniej raz uczestniczył w teście, ale w losowaniu wezmą osoby które uczestniczyły w co najmniej dwóch ).
Ogólnie to nikt nie straci więcej niż 20 minut na kilkunastu testach :D

Proszę o raportowanie ewentualnych błędów programu.
DOWNLOAD:
http://przeklej.net/down/9920040974981791596362064630368363286186ad26890c460751d91.html

pozdrawiam.
Tytuł: Odp: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: polskijakub w Wto, 05 Lis 2013, 21:13:00
i3-3220
średnia:12,324 ( s?)
Tytuł: Odp: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: deen84 w Śro, 06 Lis 2013, 09:06:32
Wynik końcowy 7475.

IntelCore2Duo E8400 3.00GHz + 6GB RAM
Tytuł: Odp: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: Raynus w Śro, 06 Lis 2013, 15:20:07
Nie działa na systemach x86.
Tytuł: Odp: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: oli00PL w Śro, 06 Lis 2013, 22:17:47
Masz racje, nie działa.
Czy jest możliwość kompilowania programu na systemy 32-bitowe, na komputerze 64-bitowym? Oczywiście, mam inny, z kompilatorem i 32bitowym systemem. prawdopodobnie jeszcze dziś, lub jutro wykonam na nim kompilacje.

Edit1: Dobra, zmieniłem kompilator na wersje 32 bit. Właśnie wrzucam na hosting wersje x86.

Post scalony: Śro, 06 Lis 2013, 22:36:50
http://przeklej.net/down/77261392026623794920142528542491528aab2545cf23e43825f1e17.html
Dajcie znać czy działa na 32 bit systemach
Tytuł: Odp: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: Schulze13 w Śro, 06 Lis 2013, 23:52:06
Poszukaj w kompilatorze. W Visualu jest domyślnie na  32 bity. Nie wiem jak w code::block
Tytuł: Odp: Eksperymentalny tester procesora + nagroda (aktualizacja)
Wiadomość wysłana przez: Jebediah w Sob, 09 Lis 2013, 12:05:50
Pentium G2030, 4 ramy
(http://i.imgur.com/dBHpVqv.png)(http://i.imgur.com/NNAzrrd.png)