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:
czas wykonania:
1:
65.251
2:
72.59
3:
64.779
4:
15.592
5:
15.134
srednia:
46.6692
nacisnij dowolny klawisz
Wykorzystanie procka: do 8%, średnio 4%, min 0%
Drugi test:
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
prawdopodobnie zmienię jego działanie, ale potrzebuję wielu testów aby mieć porównanie.
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.
Test należy wykonać następująco:
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
Proszę o raportowanie ewentualnych błędów programu.
DOWNLOAD:
Aby zobaczyć link -
ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘpozdrawiam.