Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Czas wykonywania wątku.

Ostatnio zmodyfikowano 2015-03-04 23:15
Autor Wiadomość
Piastlis
Temat założony przez niniejszego użytkownika
Czas wykonywania wątku.
» 2015-03-01 20:27:42
Ostatnio zainteresowłem się programowaniem wielowątkowym.Dość ciekawy i dla mnie nowy sposób programowania.Trzeba algorym podzielić na kilka działających niezależnie części.I tu mam problem.Chodzi mi o pomiar czasu jaki poświęcił procesor na wykonanie konkretnego wątku.Najlepiej gdyby jednostką czasu był takt procesora.Znalazłem w necie kilka sposobów pomiaru czasu ale rzeczywistego.Wiem że jest możliwe gdyż ta informacja jest dostępna w Menedżerze zadań. Za pomoc byłbym wdzięczny. 
P-127517
Monika90
» 2015-03-01 20:42:11
To zależy od systemu operacyjnego, np. Windows ma funkcje GetThreadTimes i QueryThreadCycleTime
P-127518
Piastlis
Temat założony przez niniejszego użytkownika
» 2015-03-01 20:58:23
Według dokumentacji GetThreadTimes działa od xp a  QueryThreadCycleTime od visty. Więc ten pierwszy jest bardziej uniwersalny. Przykłady też znalazłem. Dzięki za pomoc:)
P-127519
Fireho
» 2015-03-01 22:05:24
Biblioteka
ctime
 ma funkcję
clock()
, która pozwala robić to samo.
P-127532
Piastlis
Temat założony przez niniejszego użytkownika
» 2015-03-02 00:08:11
Akurat ta funkcja odmierza czas rzeczywisty.Mam na kompie porządek i dla programów jednowątkowych różnica jest na poziomie 1-2 procent.Ale taki pomiar nie ma sensu  dla wielu wątków i kilku rdzeni.
P-127536
DejaVu
» 2015-03-04 00:46:42
Napisz algorytm jednowątkowy i wielowątkowy. Porównaj czas działania obu algorytmów dla takich samych zbiorów danych. Nie ma sensu liczyć cykli, bo i tak nie będziesz w stanie wszystkiego obliczyć.

/edit:
A jak już Ciebie ten temat tak interesuje to najpierw poczytaj trochę tematów, które już istnieją:
Frazy, które należy wpisać w wyszukiwarkę google:

A jak chcesz mieć wymierne korzyści z implementowania algorytmów to sugeruję zainteresować się obliczeniami na GPU (choć to jest znacznie trudniejsze niż CPU).
P-127649
Piastlis
Temat założony przez niniejszego użytkownika
» 2015-03-04 02:29:14
Zależy mi na optymalizacji.Dość duża ilość algorytmów 10-20,każdy rozwiązuje problem nie całkowicie. W sytuacji spada wydajnośc  pojedyńczego wątku pomyślałem o czasowym usypianiu by procesor miał więcej czasu na te wydajniejsze .A chciałbym to zrobić z wątku nadzorującego.W pojedyńczym wątku wygląda to tak że jest kilkanaście funckji w pętli.Z czego 90% czasu to testy że  pojedyńczy algotytm nic nie robi.  
P-127653
maly
» 2015-03-04 07:57:04
spada wydajnośc pojedyńczego wątku pomyślałem o czasowym usypianiu by procesor miał więcej czasu na te wydajniejsze
To oznacza że źle podzieliłeś zakres odpowiedzialności wątków a usypianie któregoś z nich jest zaprzeczeniem optymalizacji dla szybkości.

Dość duża ilość algorytmów 10-20,każdy rozwiązuje problem nie całkowicie.
Chcesz powiedzieć że dla każdego algorytmu tworzysz osobne nierównomiernie rozłożone czasowo wątki których wyniki są niezbędne do dalszego działania? Jeśli tak, patrz wyżej.

Trzeba algorym podzielić na kilka działających niezależnie części.
Trzeba podzielić tam gdzie podział ma sens, jesli podział niema sensu to cały algorytm może być jednym wątkiem. Patrz wyżej/wyżej.
P-127655
« 1 » 2
  Strona 1 z 2 Następna strona