-
Data: 2013-04-19 22:16:48
Temat: Re: rdtsc a kilka rdzeni
Od: "Borneq" <b...@a...hidden.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Użytkownik "M.M." <m...@g...com> napisał w wiadomości
news:4e868d51-743d-4a33-af8c-2da729bf9d6a@googlegrou
ps.com...
On Friday, April 19, 2013 11:15:24 AM UTC+2, Borneq wrote:
> Od czasu procesora Pentium mamy interesująca instrukcję rdtsc, która
> mierzy
> czas ekstremalnie dokładnie - co do taktu i wywołanie jej zabiera bardzo
> mało czasu w porównaniu np. z QueryPerformanceCounter.
> Jednak na dwurdzeniowym procesorze uzyskiwałem bzdurne wyniki. Okazało się
> niestety, że każdy rdzeń ma własny licznik (?). Można było to obejść
> zmuszając testowy program do pracy na jednym rdzeniu
> (SetProcessAffinityMask), co jednak powoduje że taki profilowany program
> nie
> może działać z pełną wydajnością, gdy ma kilka wątków.
> Pytanie: czy takie zachowanie rdtsc zależy także od syetemu? bo zdaje się
> że
> w Windows 8 a nawet w XP obecnie, po poprawkach już licznik rdtsc działał
> dobrze nawet na kilku rdzeniach, ale nie jestem tego pewien.
> A jakby przypisać proces na chama do rdzenia?
Właśnie to robię przez SetProcessAffinityMask,ale wtedy wszystkie wątki tego
procesu działają na jednym rdzeniu, co nie pozwala na pełną prędkość.
Nie wiem jak mają się do tego sprawy systemu, bo zdaje się, że ostatnio gdy
testowałem (obecnie nie mam na czym, piszę z jednordzeniowego laptopa) to
nawet na dwóch rdzeniach się dobrxze zachowywał, choć to mogło być sprawą
przypadku.
Chodzi o to, że nawet gdy mamy jednowątkowy proces, a choćby kilkuwątkowy,
to dwa odczyty rdtsc przeważnie są blisko siebie i w jednym wątku. I teraz,
czy system operacyjny będzie cały czas jedne wątek przydzielał do jedneog
rdzenia/procesora? Może poprzednio nie przydzielał a teraz przydziela, nie
jestem tego pewien.
ALE
Pomyślałem teraz, że nie potrzebnie używałem SetProcessAffinityMask, można
przecież użyć
SetThreadAffinityMask dla wątku badanego a inne wątki będą może na innych
rdzeniach i wtedy można profilować program wielowątkowy bez ograniczania się
do jednego rdzenia - jeden wątek i tak jest ograniczony do jednego.
Następne wpisy z tego wątku
- 19.04.13 22:39 M.M.
- 20.04.13 00:33 Borneq
- 20.04.13 07:28 M.M.
- 20.04.13 10:35 Borneq
- 20.04.13 13:04 Michoo
- 20.04.13 13:23 M.M.
- 20.04.13 23:04 Bronek Kozicki
- 21.04.13 11:08 M.M.
- 21.04.13 12:02 Borneq
- 21.04.13 12:50 M.M.
- 21.04.13 12:52 firr kenobi
- 21.04.13 13:44 R.e.m.e.K
- 21.04.13 15:09 Bronek Kozicki
- 21.04.13 15:14 Bronek Kozicki
- 21.04.13 17:23 Edek
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-16 silnik-chwilówka
- 2025-03-16 Prokurator Wrzosek "Bezstronna" nie przyczynia się do śmierci (dowodnie) - oświadcza bodnatura [Dwie Kacze Wieże]
- 2025-03-15 kraje nieprzyjazne samochodom
- 2025-03-15 parking Auchan
- 2025-03-15 Art. 19.1 ustawy o ochronie praw autorskich
- 2025-03-15 przegląd za mną
- 2025-03-15 Na co komu okna
- 2025-03-15 Mój elektryk
- 2025-03-15 Fejk muzyczny czy nie fejk
- 2025-03-15 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-15 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-15 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-15 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+ experience) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+) <=