Witam!
Mam dziwne pytanie.
Otoz chodzi o to ze napisalem maly programik ktory przeprowadza niezbyt skomplikowane, ale za to czasochlonne obliczenia. w celu optymalizacji wydajnosci wyposazylem progs w obsluge watkow.
i teraz:
jak uruchomie program z jednym watkiem obliczenia dla przykladowych danych wykonuja sie w minute i 49 sekund a CPU jest obciazony srednio na 50%
jak uruchomie z obliczenia w dwoch watkach czekam 2 min. 25 s. a CPU jest obciazony na prawie 100%
czemu tak jest [???]
mam turiona X2 (2 rdzenie)
Strzelam: nie podzieliłeś zadania na wątki tylko puściłeś to samo 2x.
<font size="2">kod</span>, <font size="3">kod</span>, <font size="4">kod</span>, <font size="6">dajcie jakiś KOD!!!</span>
wróżka ma wychodne, szklaną kulę czarny kod wczoraj zbił a fusy z herbaty ukradł Harrry Pottterrr ...
Misiekd napisał(a)
wróżka ma wychodne, szklaną kulę czarny kod wczoraj zbił a fusy z herbaty ukradł Harrry Pottterrr ...
Nie kot przypadkiem? :>
Co do fusów, Harry je okręcił kotem i wyjarał, co zaś z wróżką zrobił lepiej nie wiedzieć.
<font size="1">sorry za ot.</span>
Nie strzelam: gdzies masz blad :D
Przecież tu nie ma nic dziwnego ani nieprawidłowego! To logiczne, że jak procesor jest bardziej obciążony, to dłużej liczy, więc i dłużej się czeka na wyniki.
@oooooooooooooooooooo - u Ciebie wszystko jest ok, nie daj się nabierać tym starym, forumowym żartownisiom. I nie musisz podawać kodu.
@somekind, blisko.
@oooooooooooooooooooo - pytanie za sto punktów ile rdzeni ma twój procesor? Jak jeden to nie przyspieszysz obliczeń wątkami, a tylko zamulisz system przełączaniem kontekstu. Jak masz dwa rdzenie to zapewne też nie uzyskasz dodatkowej mocy, bo system przepchnie obliczenia na jeden rdzeń, a drugi wykorzysta do przełączania kontekstu i własnych działać. Wątki są skuteczne jeżeli masz co najmniej trzy rdzenie lub bardzo dobrze znasz biblioteki systemu by wymusić na nim zaprzestanie zbędnych działań na czas obliczeń.