eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Automatic Reference Counting
Ilość wypowiedzi w tym wątku: 47

  • 21. Data: 2017-08-18 09:20:21
    Temat: Re: Automatic Reference Counting
    Od: fir <p...@g...com>

    W dniu piątek, 18 sierpnia 2017 08:02:33 UTC+2 użytkownik AK napisał:
    > Użytkownik "fir" <p...@g...com> napisał:
    >
    > > moim zdaniem jest to typowy przyklad oszlomstwa broneq (ktorego ja nie ukrywam
    nie lubie i uwazam
    > > za oszolomskiego matola -
    > [...]
    > > zjakichs powodow jest dla mnie strasznie trudna...:C
    >
    > No to spie^H^H^H sio z powrotem do kibla (ś)fir-niety buraku!

    no tak wam starym specjalistom od dziadostwa
    kroku nie dotrzymam (choć nie mam takiego zamiaru)


  • 22. Data: 2017-08-18 10:42:37
    Temat: Re: Automatic Reference Counting
    Od: bartekltg <b...@g...com>

    On Friday, August 18, 2017 at 7:51:41 AM UTC+2, AK wrote:
    > Użytkownik "M.M." <m...@g...com> napisał:
    >
    > > > Warto, kompilator się sam martwi o zwolnienie pamięci. Pytanie - jak to jest od
    środka robione.
    > >
    > > .. a co Cie to obchodzi?
    >
    > > Zgaduję, że On się zastanawia jaki będzie narzut pamięciowy i
    > > czasowy.
    >
    > Taaa. Klasycznie jak to u Krzyżowca.
    > Jeszcze zanim uzyje, już optymalizuje....
    > PS: Krzyżowcu! W shared_ptr masz _za darmo_ (atomowo, bez lockow) thread-safe
    > Naprawde warto :)

    Ale to thread-safe ogranicza się operacji na wskaźnikach. Jeśli w wątkach
    odpale:

    th1:
    p1 -> foo();
    th2:
    p2 -> bar();

    p1 i p2 pokazują na tan sam obiekt (p2 to kopia p1)
    To nadal mogę coś zepsuć, bo odpalenie foo nie będize czekało
    na koniec bar (lub odwrotnie).
    Czy coś źle rozumiem i to tez jest gwarantowane?

    > PS1: "Optymalizuj" wtedy gdy to _naprawde_ jest potrzebne

    Powtarza się jeszcze jedną mądrość. Zaczynac od unique_ptr, a nuz
    wystarczy.

    pzdr
    bartekltg


  • 23. Data: 2017-08-18 10:50:10
    Temat: Re: Automatic Reference Counting
    Od: bartekltg <b...@g...com>

    On Friday, August 18, 2017 at 7:09:09 AM UTC+2, Borneq wrote:
    > W dniu 17.08.2017 o 23:56, Wojciech Muła pisze:
    > > Bo standard wymusza określone cechy - np. std::shared_ptr jest
    > > bezpieczny wątkowo. A to znaczy, że może okazać się za wolny. :)
    > >
    > > w.
    > >
    > używa:
    > long volatile a = 5;
    > _InterlockedIncrement(&a);
    > _InterlockedDecrement(&a);
    >
    > a te dwie funkcje kompilowane są tylko do przedrostka lock przed inc/dec
    > w kodzie assemblerowym.

    http://en.cppreference.com/w/cpp/atomic/atomic
    ;->

    pzdr
    bartekltg


  • 24. Data: 2017-08-18 10:53:37
    Temat: Re: Automatic Reference Counting
    Od: "M.M." <m...@g...com>

    On Friday, August 18, 2017 at 10:42:38 AM UTC+2, bartekltg wrote:
    > On Friday, August 18, 2017 at 7:51:41 AM UTC+2, AK wrote:
    > > Użytkownik "M.M." <m...@g...com> napisał:
    > >
    > > > > Warto, kompilator się sam martwi o zwolnienie pamięci. Pytanie - jak to jest
    od środka robione.
    > > >
    > > > .. a co Cie to obchodzi?
    > >
    > > > Zgaduję, że On się zastanawia jaki będzie narzut pamięciowy i
    > > > czasowy.
    > >
    > > Taaa. Klasycznie jak to u Krzyżowca.
    > > Jeszcze zanim uzyje, już optymalizuje....
    > > PS: Krzyżowcu! W shared_ptr masz _za darmo_ (atomowo, bez lockow) thread-safe
    > > Naprawde warto :)
    >
    > Ale to thread-safe ogranicza się operacji na wskaźnikach. Jeśli w wątkach
    > odpale:
    >
    > th1:
    > p1 -> foo();
    > th2:
    > p2 -> bar();
    >
    > p1 i p2 pokazują na tan sam obiekt (p2 to kopia p1)
    > To nadal mogę coś zepsuć, bo odpalenie foo nie będize czekało
    > na koniec bar (lub odwrotnie).
    > Czy coś źle rozumiem i to tez jest gwarantowane?
    >
    > > PS1: "Optymalizuj" wtedy gdy to _naprawde_ jest potrzebne
    >
    > Powtarza się jeszcze jedną mądrość. Zaczynac od unique_ptr, a nuz
    > wystarczy.
    >
    > pzdr
    > bartekltg

    Tak intensywnie piszecie o tych sprytnych wskaźnikach... chyba będę
    musiał się przeprosić z nimi. Ale ostatnio w ogóle mam bardzo mało
    wskaźników w kodzie (nie licząc wskaźników na statyczne/automatyczne
    obiekty). Większość wskaźników utworzonych przez new mam wewnątrz
    wektorów, map, hash-map, list, więc dla mnie przydatność smartpointers
    będzie pojawiała się bardzo rzadko.

    Pozdrawiam


  • 25. Data: 2017-08-18 11:37:38
    Temat: Re: Automatic Reference Counting
    Od: Borneq <b...@a...hidden.pl>

    W dniu 18.08.2017 o 10:42, bartekltg pisze:
    > Powtarza się jeszcze jedną mądrość. Zaczynac od unique_ptr, a nuz
    > wystarczy.

    Czy wystarczy?
    Mam obiekt właściciel i obiekty które on posiada.
    Te mniejsze obiekty mają wskaźnik na właściciela.
    Gdyby to było unique_ptr trzeba by zrobić move(*this) gdy z właściciela
    wołam konstruktor mniejszego obiektu.


  • 26. Data: 2017-08-18 12:07:44
    Temat: Re: Automatic Reference Counting
    Od: bartekltg <b...@g...com>

    On Friday, August 18, 2017 at 11:37:38 AM UTC+2, Borneq wrote:
    > W dniu 18.08.2017 o 10:42, bartekltg pisze:
    > > Powtarza się jeszcze jedną mądrość. Zaczynac od unique_ptr, a nuz
    > > wystarczy.
    >
    > Czy wystarczy?
    > Mam obiekt właściciel i obiekty które on posiada.
    > Te mniejsze obiekty mają wskaźnik na właściciela.
    > Gdyby to było unique_ptr trzeba by zrobić move(*this) gdy z właściciela
    > wołam konstruktor mniejszego obiektu.

    Jeśli to jest drzewo, to w dół idzie unique_ptr, a w górę choćby goły
    wskaźnik. Ten goły zawsze jest ważny, bo obiekt w którym jest istnieje
    tylko, jesli obiekt nadrzędny istnieje.

    Był jakiś fajny wykład o wykorystanu roznych kombinacji na cppcon (14, 15 albo 16).


    pzdr
    bartekltg


  • 27. Data: 2017-08-18 12:10:24
    Temat: Re: Automatic Reference Counting
    Od: bartekltg <b...@g...com>

    On Friday, August 18, 2017 at 12:07:45 PM UTC+2, bartekltg wrote:
    > On Friday, August 18, 2017 at 11:37:38 AM UTC+2, Borneq wrote:
    > > W dniu 18.08.2017 o 10:42, bartekltg pisze:
    > > > Powtarza się jeszcze jedną mądrość. Zaczynac od unique_ptr, a nuz
    > > > wystarczy.
    > >
    > > Czy wystarczy?
    > > Mam obiekt właściciel i obiekty które on posiada.
    > > Te mniejsze obiekty mają wskaźnik na właściciela.
    > > Gdyby to było unique_ptr trzeba by zrobić move(*this) gdy z właściciela
    > > wołam konstruktor mniejszego obiektu.
    >
    > Jeśli to jest drzewo, to w dół idzie unique_ptr, a w górę choćby goły
    > wskaźnik. Ten goły zawsze jest ważny, bo obiekt w którym jest istnieje
    > tylko, jesli obiekt nadrzędny istnieje.
    >
    > Był jakiś fajny wykład o wykorystanu roznych kombinacji na cppcon (14, 15 albo 16).

    https://www.youtube.com/watch?v=JfmTagWcqoE (13 minuta)
    Ale wydaje mi sie, ze było gdzieś szerzej.

    pzdr
    bartekltg


  • 28. Data: 2017-08-18 12:38:20
    Temat: Re: Automatic Reference Counting
    Od: Borneq <b...@a...hidden.pl>

    W dniu 18.08.2017 o 12:07, bartekltg pisze:
    > Jeśli to jest drzewo, to w dół idzie unique_ptr, a w górę choćby goły
    > wskaźnik. Ten goły zawsze jest ważny, bo obiekt w którym jest istnieje
    > tylko, jesli obiekt nadrzędny istnieje.

    unique_ptr - trzeba stosować move zamiast przypisania.
    Mam font mający wskaźnik na właściciela - okno.
    Teraz w oknie tworzę font: new Font(move(*this)) ?


  • 29. Data: 2017-08-18 12:40:34
    Temat: Re: Automatic Reference Counting
    Od: "M.M." <m...@g...com>

    On Friday, August 18, 2017 at 11:37:38 AM UTC+2, Borneq wrote:
    > W dniu 18.08.2017 o 10:42, bartekltg pisze:
    > > Powtarza się jeszcze jedną mądrość. Zaczynac od unique_ptr, a nuz
    > > wystarczy.
    >
    > Czy wystarczy?

    A jeśli wystarczy, to może i Java wystarczy, po co się męczyć z C++, wszak
    wiadomo, że pisanie programów, nie wspomniawszy o pisaniu zoptymalizowanych
    programów, w C++ jest i dużo trudniejsze i wymaga dużo więcej czasu.

    Nie wiem czy wystarczy. Gdy używam C++ i gdy użycie C++ jest uzasadnione, to
    zazwyczaj drobiazgi przeszkadzają (czyli nie-wystarczają). Kiedyś musiałem
    wywalić np. obiekt QDateTime, bo za wolno wykonywał, wydawałoby się, proste
    operacje na dacie i czasie.

    >[...]

    Pozdrawiam


  • 30. Data: 2017-08-18 15:02:08
    Temat: Re: Automatic Reference Counting
    Od: bartekltg <b...@g...com>

    On Friday, August 18, 2017 at 12:38:19 PM UTC+2, Borneq wrote:
    > W dniu 18.08.2017 o 12:07, bartekltg pisze:
    > > Jeśli to jest drzewo, to w dół idzie unique_ptr, a w górę choćby goły
    > > wskaźnik. Ten goły zawsze jest ważny, bo obiekt w którym jest istnieje
    > > tylko, jesli obiekt nadrzędny istnieje.
    >
    > unique_ptr - trzeba stosować move zamiast przypisania.
    > Mam font mający wskaźnik na właściciela - okno.
    > Teraz w oknie tworzę font: new Font(move(*this)) ?

    To zależy, co chcesz osiagnać.
    A ja tego nie wiem. Nie wiem nawet, co robisz w tej linijce;-)

    u_ptr moze być złym rozwiązanie do danego problemu. Wszytko zależy od problemu;-)

    pzdr
    bartekltg

strony : 1 . 2 . [ 3 ] . 4 . 5


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: