Wykop.pl Wykop.pl
  • Główna
  • Wykopalisko250
  • Hity
  • Mikroblog
  • Zaloguj się
  • Zarejestruj się
Zaloguj się

Popularne tagi

  • #ciekawostki
  • #informacje
  • #technologia
  • #polska
  • #swiat
  • #motoryzacja
  • #podroze
  • #heheszki
  • #sport

Wykop

  • Ranking

    Ranking
  • Osiągnięcia
  • FAQ
  • O nas
  • Kontakt
  • Reklama
  • Regulamin
dasdadas4
dasdadas4

dasdadas4

Dołączył 7 lat i 7 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) {} ; ... //
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

dasdadas4
dasdadas4
dasdadas4
Autor
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
  • Odpowiedz
ponton
ponton
16.04.2018, 11:40:58
  • 0
@dasdadas4: no właśnie nie może tak optymalizować w danym std::memory_model
  • Odpowiedz

Osiągnięcia

  • Rocznica
    od 15.04.2022

    Rocznica

Wykop © 2005-2025

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

RSS

  • Wykopane
  • Wykopalisko
  • Komentowane
  • Ustawienia prywatności

Regulamin

Reklama

Kontakt

O nas

FAQ

Osiągnięcia