-
Data: 2011-09-13 14:18:24
Temat: Re: autorelease pools
Od: Paweł Kierski <n...@p...net> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2011-09-13 13:27, kenobi pisze:
> W obj-c jest cos co nazywa sie 'autorelease pools' i o ile rozumiem
> jest to posredni stopien miedzy recznym zarzadzaniem pamiecia
> (przez free/delete/release itp) a grabage collectorem.
>
> NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
> //tu wywolaj funkcje
> [pool release];
>
> Dziala to tak ze wybrane (tj te obslugujace autorelelease) obiekty tworzone
> po zalaczeniu poola sa rejestrowane i nie trzeba ich zwalniac - zostana usuniete
> przy niszczeniu (albo drainowaniu) poola.
>
> Sam nie za bardzo znam sie ani na kwestiach dotyczacych gc ani tez i recznej
> gospodarki pamiecia ale pamietam ze toczyly sie tu onegdaj dyskusje nt jednego i
> drugiego a chyba nie byl omawiany wlasnie ten posredni przypadek ([sam jestem
> raczej zwolennikiem w wiekszosci statycznego podejscia - czyli mozna by to nazwac
> jeszcze 'czwarta droga'); jakby co to chetnie uslysze zdania dotyczace tego
'posredniego'
> miedzy gc a reczna gosp sposobu.
Świetnie się stosuje np. w przypadku, gdy w ramach jakiegoś
separowanego przetwarzania musisz tworzyć dużo małych obiektów
tymczasowych, a co najwyżej niektóre z nich będą potrzebne jako wyniki.
(Ewentualny koszt kopiowania z puli do "innej" pamięci jest mały)
Wtedy zysk jest duży:
- alokacja z puli może być bardzo szybka (szczególnie, gdy dostęp do
niej jest z jednego wątku, a obiekty są zbliżonych rozmiarów)
- dealokacja puli jest jeszcze szybsza 8-)
- na pewno wszystkie obiekty z puli zostaną usunięte - nie można mieć
wycieków pamięci, o ile tylko zwolni się pulę (i nie ma referencji
z obieków z puli, ale tym powinny zająć się ewentualne destruktory).
Do tego zarządzanie jest bardzo proste - tworzę, tworzę,... potem
niszczę pulę i już.
To jest oczywiście bardzo szczególny przypadek, ale powyższe zalety
można wykorzystać przy innych okazjach.
--
Paweł Kierski
n...@p...net
Następne wpisy z tego wątku
- 13.09.11 14:53 n...@m...invalid
- 13.09.11 16:35 Jacek
- 13.09.11 17:09 g...@p...onet.pl
- 13.09.11 18:29 g...@p...onet.pl
- 14.09.11 03:10 p...@p...onet.pl
- 14.09.11 06:42 Paweł Kierski
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają