Czas wykonywania wątku.
Ostatnio zmodyfikowano 2015-03-04 23:15
Piastlis Temat założony przez niniejszego użytkownika |
» 2015-03-04 12:07:16 Przetwarzana jest tablica.Wyniki algorytmów modyfikują ją i są danymi do dalszej pracy .Coś jak sudoku. Przestrzeń liniowa obliczeń o której piszesz to najprostszy przypadek. |
|
DejaVu |
» 2015-03-04 19:02:44 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.
|
System operacyjny sam sobie poradzi z przydzielaniem odpowiedniego czasu wykonywania dla wątków. Co najwyżej możesz mieć źle napisaną aplikację, że nie wykorzystujesz 100% mocy CPU. Jeżeli bardzo często musisz synchronizować dane między wątkami i tym samym musisz wchodzić na względnie długi czas w sekcje krytyczne, to jest to właśnie Twoje wąskie gardło. Poza tym polecam Ci najpierw napisać algorytm jednowątkowy, ponieważ istnieje bardzo duże prawdopodobieństwo, że będzie on szybszy niż Twoja koncepcja wielowątkowa. Dlaczego? Bo trzeba rozumieć jaki koszt niesie każda z operacji jaką wykorzystuje się w programowaniu wielowątkowym, a nie stosować je aby osiągnąć swój cel. Aplikacja jednowątkowa będzie dla Ciebie punktem referencyjnym 'jak szybko działa algorytm', a potem możesz zobaczyć 'jak spowolnił Twój algorytm' po zastosowaniu wielowątkowości. Będziesz mógł się pochylić wówczas nad zagadnieniem wielowątkowości i odpowiedzieć sobie na pytanie 'po co zużywać znacznie więcej zasobów komputera, skoro aplikacja działa wolniej' oraz na pytanie 'co zrobiłem źle, że uzyskałem taki efekt'. |
|
Piastlis Temat założony przez niniejszego użytkownika |
» 2015-03-04 23:15:19 Powiem to inaczej.Cały czas wszystko działa na 100%.Oczywiście mógłbym to zrobić powiedzmy na 2 lub 4 identycznych wątkach i zadbać tylko o to by nie robiły tego samego w tym samym czasie.Np zastosować dodatkowe flagi gdy dane obliczenia nic nie modyfikują. Ale wymyśliłem sobie inny sposób i obiecuję że napiszę co z tego wyszło. |
|
1 « 2 » |