Wykop.pl Wykop.pl
  • Główna
  • Wykopalisko317
  • Mikroblog
  • Zaloguj się
  • Zarejestruj się
  • Wykop.pl
  • Ciekawostki

    Ciekawostki
  • Informacje

    Informacje
  • Rozrywka

    Rozrywka
  • Sport

    Sport
  • Motoryzacja

    Motoryzacja
  • Technologia

    Technologia
  • Ukraina

    Ukraina
  • Gospodarka

    Gospodarka
  • Podróże

    Podróże

Dostosuj Wykop do siebie

Wybierz treści, które Cię interesują
i zapisz jako Własną kategorię.

dasdadas4
dasdadas4

dasdadas4

Dołączył 5 lat i 9 mies. temu
  • Obserwuj

To konto jest obecnie zbanowane.

  • Akcje 19
  • Znaleziska 5
  • Mikroblog 14
  • Obserwujący 0
  • Obserwowane 1
  • Dodane (1)
  • Komentowane (13)
  • Plusowane (0)
dasdadas4
dasdadas4
dasdadas4 16.04.2018, 10:33:44
  • 2
Mam pytanie odnośnie #cplusplus i #programowanie wielowątkowe. Dla ustalenia uwagi załóżmy że kompilator to linuksowe g++, a wątki są z biblioteki z c++11, chociaż to pewnie żadna różnica.

Do tej pory zawsze kompilowałem programy wielowątkowe bez żadnej optymalizacji i wszystko śmigało. Dołożenie flagi -02 może zepsuć działający kod przez optymalizacje kodu, najprostszy przykład:

int a=0 ; // zmienna globalna z której wszyscy będą korzystać
... ; while(!a) {} ; ... // watek1
  • konto usunięte
  • Cronox
  • 12
dasdadas4
dasdadas4
dasdadas4 16.04.2018, 11:36:02
  • 0
@lionbest: @ponton: może nie widać z tego wpisu, ale ja rozumiem czym są zmienne atomowe, mutexy, zmienne warunkowe, teoretyczne modele synchronizacji... Pytanie dotyczyło możliwych optymalizacji przez kompilator. Np czy kompilator mógłby zwinąć coś takiego:

m.lock()
a = 1
m.unlock()
m.lock()
a = a+100
m.unlock()

w poniższy kod:

m.lock()
a=101
m.unlock()

? Różnica jest wiadoma, pomiędzy lockami w pierwszej wersji drugi wątek mógłby poprawić zmienną a
ponton
ponton
ponton
16.04.2018, 11:40:58
  • 0
@dasdadas4: no właśnie nie może tak optymalizować w danym std::memory_model

Osiągnięcia

  • Rocznica
    od 15.04.2022

    Rocznica

Wykop © 2005-2024

  • Nowy Wykop
  • O nas
  • Reklama
  • FAQ
  • Kontakt
  • Regulamin
  • Polityka prywatności i cookies
  • Hity
  • Ranking
  • Osiągnięcia
  • więcej

RSS

  • Wykopane
  • Wykopalisko
  • Komentowane
  • Ustawienia prywatności

Wykop.pl