dotnetomaniak.pl - Artykuły z tagiem Garbage Collector

Your browser is no longer supported. Update it to get the best YouTube experience and our latest features. Learn moreOperaMozilla FirefoxGoogle ChromeMicrosoft EdgeRemind me laterAboutCopyrightContact usTermsPrivacyPolicy & Safety© 2022 Google LLC

Źródło: www.youtube.com
Dziel się z innymi:
[Video] Diagnosing Memory Leaks - Maoni Stephens

Narzędzia 951 dni, 20 godzin temu Piotr Stapp 42 źrodło rozwiń

Wanna know what is fReachable queue, how finalization works in .NET and how to use a Dispose pattern? Come and read a new post in my .NET Internals series :)

[.NET Internals 07] Unmanaged resources: finalization, fReachable queue and dispose pattern – Dawid's blog

Sztuka programowania 2231 dni, 23 godziny, 59 minut temu dsibinski 45 źrodło rozwiń

Examining garbage collection in more details today. We'll see what is marking phase, actual collection process and heaps compaction to make it more efficient. Come and read! :)

[.NET Internals 05] Garbage collection: marking, collection and heaps compaction – Dawid’s blog

Starting from .NET Core 2.0 coupling between Garbage Collector and the Execution Engine itself have been loosened. Prior to this version, the Garbage Collector code was pretty much tangled with the rest of the CoreCLR code. However, Local GC initiative in version 2.0 is already mature enough to start using it.

Dziel się z innymi:
Zero Garbage Collector for .NET Core – TooSlowException

Inne 2605 dni, 1 godzinę, 31 minut temu KonradKokosa 196 źrodło rozwiń

Blog programistyczy. Ale także o fotografii i bieganiu.MenuHomeDaj Się Poznać 2017Fat Can RunFotografiaBrak komentarzy Nasz wspaniały język C#, znosi z nas prawie pełną odpowiedzialność za sprzątanie po sobie. Można by rzec, iż mamy zatrudnioną sprzątaczkę i nawet nie wiemy kiedy magicznie bałagan znika. Oczywiści mowa tutaj o Garbage Collector. Jeszcze dzisiaj pamiętam trudność, i obowiązek kontrolowania wycieków pamięci gdy pisałem oprogramowanie z wykorzystaniem języka C++. Z drugiej strony człowi...

Dziel się z innymi:
Wysypisko śmieci. - Good Developer

Daj się poznać 2017 2709 dni, 33 minuty temu gocom 75 źrodło rozwiń

W poprzedniej części o GC przybliżyłem jak działa alokowanie pamięci w .Net oraz czym różnią się systemy, które liczą referencje od tych, które je śledzą. Przed nami część druga czyli... Generacje!

Mechanizm zarządzania nieużytkami – Garbage Collector (Generacje) cz.2

Architektura 2790 dni, 23 godziny, 12 minut temu Piotr Kowalski 189 źrodło rozwiń

Od jakiegoś już czasu chciałem dokładnie poznać jak działa mechanizm oczyszczania pamięci w .Net. Dlaczego? Z czystej, niewymuszonej ciekawości! Czy jako programista musisz znać dokładnie jak działa Garbage Collector? Nie. Ale czyż nie jest to ciekawe? Poznać lepiej mechanizm który dał sporą przewagę językowi C#? Jeżeli jesteś ciekawski tak samo jak ja to zapraszam do artykułu!

Mechanizm zarządzania nieużytkami – Garbage Collector cz.1

Architektura 2802 dni, 16 minut temu Piotr Kowalski 182 źrodło rozwiń

Just how long does garbage collection take in .NET? Which generation takes longer?

Dziel się z innymi:
[EN] The cost of garbage collection – IndexOutOfRange

Sztuka programowania 2991 dni, 20 godzin, 4 minuty temu maklipsa 124 źrodło rozwiń

Kolejna część artykułu o GC. Zapraszam do lektury: http://msdn.microsoft.com/pl-pl/library/garbage-collector-cz-4-wycieki-pamieci

Dziel się z innymi:
Piotr Zieliński » Artykuł: Garbage Collector, cz. IV (wycieki pamięci)

Sztuka programowania 4124 dni, 20 godzin, 56 minut temu pzielinski 252 źrodło rozwiń

Kolejna część artykułu o GC – tym razem o zasobach niezarządzanych. Zapraszam do lektury: http://msdn.microsoft.com/pl-pl/library/garbage-collector-cz-3-zasoby-niezarzadzane

Dziel się z innymi:
Piotr Zieliński » Artykuł– Garbage Collector, cz. III

Sztuka programowania 4147 dni, 9 godzin, 3 minuty temu pzielinski 122 źrodło rozwiń

Jakiś czas temu zapowiadałem drugą część artykułu o GC. Tym razem będzie o różnych trybach GC i kiedy z jakiego należy korzystać, tak, aby aplikacja zachowywała się płynnie oraz sprawiała wrażenie, że działa w czasie rzeczywistym. Zapraszam do lektury!

Dziel się z innymi:
Piotr Zieliński » Artykuł– Garbage Collector, cz. I

Sztuka programowania 4162 dni, 3 godziny, 4 minuty temu pzielinski 122 źrodło rozwiń

Na wstępnie od razu chciałbym dodać, że dla większości aplikacji, dalsze rozważania w tym poście nie mają sensu i należy to traktować jako ciekawostkę. Dla części systemów może to jednak być ważne a mianowicie dla oprogramowania działającego w “czasie rzeczywistym”, wymagającego low-latency. Dzisiejszy wpis może powstał trochę zbyt wcześnie ale wkrótce powinna pojawić się druga część mojego artykułu o GC, który będzie dotyczył różnych trybów kolekcji. Jednym z tych trybów jest wykonywanie kolekcji w spo...

Dziel się z innymi:
Piotr Zieliński » Powiadomienia o kolekcjach GC.

Sztuka programowania 4177 dni, 2 godziny, 50 minut temu pzielinski 128 źrodło rozwiń

Właśnie został opublikowany kolejny mój artykuł, tym razem o GC. Zapraszam do lektury: http://msdn.microsoft.com/pl-pl/library/garbage-collector-cz-1

Dziel się z innymi:
Piotr Zieliński » Garbage Collector, cz. I

Sztuka programowania 4196 dni, 23 godziny, 15 minut temu pzielinski 218 źrodło rozwiń

GC nic nie wie o zasobach niezarządzanych. Nie wie ile pamięci one zajmują oraz oczywiście nie jest w stanie zwolnić takich zasobów. O zarządzaniu taką pamięcią pisałem już wiele razy. Opisywałem również zasadę działania GC. Zwykle jest on odpalany po przekroczeniu pewnego progu zużycia pamięci. Niestety, jak wspomniałem, GC nie wie nic o niezarządzanych zasobach. Co w przypadku gdy wrapper zużywa bardzo mało pamięci a zasoby niezarządzane w nim konsumują bardzo wiele pamięci? Dzięki metodom AddMemoryPre...

Dziel się z innymi:
Piotr Zieliński » Zasoby niezarządzane, optymalizacja GC

Sztuka programowania 4244 dni, 14 godzin, 14 minut temu pzielinski 139 źrodło rozwiń

Programiści niskopoziomowi często narzekają na brak pewnych możliwości w C# znanych im z C++ (często ze względu na brak znajomości ich odpowiedników w C#. Po dzisiejszej rozmowie z kolegą na ten temat stwierdziłem, że pokażę jak wykorzystać takie funkcje jak memset, a przy okazji jak pisać biblioteki DLL w C++ dla C# i jak z nich korzystać. Sprawdzimy także, czy zastosowanie takich bibliotek przyśpieszy działanie...

Dziel się z innymi:
Budowanie (w C++) i dynamiczne linkowanie bibliotek DLL w C#

Sztuka programowania 4278 dni, 19 godzin, 41 minut temu bari 316 źrodło rozwiń

Wielu z Was kojarzy zapewne konstrukcję unsafe do deklarowania stref niezarządzanych w których możemy np. wykorzystywać wskaźniki i inne mechanizmy znane z języków niezarządzanych. Słowo fixed wydaje mi się, że jest nieco mniej popularne. Wiemy, że w środowisku .NET, gdzie zasoby pamięci zarządzane są przez Garbage Collector, obiekty mogą  zmieniać swój adres. W poprzednich postach (o GC) pisałem, że przy zwolnieniu obiektów, wszystkie pozostałe są szeregowane jeden po drugim, tak aby uniknąć problemów ...

Dziel się z innymi:
Piotr Zieliński » Słowo kluczowe fixed w c#

Windows 4604 dni, 19 godzin, 31 minut temu pzielinski 239 źrodło rozwiń

W ostatnim poście obiecałem pokazać na przykładzie, że destruktory rzeczywiście mają negatywny wpływ na wydajność. Mamy prostą klasę:class MyClass { ~ MyClass() { // Jakis bezensowny kod np:for (int i =0; i <100*10000; i++) { var newinstance =new myclass(); } stopwatch.stop(); long duration = stopwatch.elapsedmilliseconds; przyjrzyjmy się teraz diagramowi przedstawiającemu rozkład obiektów względem generacji (clr profiler): na moim komputerze duration wyniósł 900. usuńmy destruk...

Dziel się z innymi:
Piotr Zieliński » Garbage Collector, część V– destruktory, wydajność, przykład

Inne 4608 dni, 9 godzin, 11 minut temu pzielinski 100 źrodło rozwiń

Jeśli miał ktoś do czynienia np. z CPP z pewnością kojarzy pojęcie destruktora. Jest to metoda, wywoływana w momencie zwalniania obiektu z pamięci (przeciwieństwo konstruktora). Zarówno w CPP jak w C#, nazwa destruktora stanowi ‘~’ plus nazwa klasy.

Dziel się z innymi:
Garbage Collector, część IV – destruktor i problemy

Inne 4610 dni, 14 godzin, 31 minut temu pzielinski 162 źrodło rozwiń

W poprzednim poście przedstawiłem zasadę działania generacji w GC.  Dowiedzieliśmy się, że zwalnianie zasobów z generacji 0 jest bardzo szybkie z kolei z GEN 2 wolne. Healthy GC to reguła określająca optymalny (zdrowy) stan GC: gen0 : gen1 : gen2 => 100 : 10 : 1 W Internecie można również znaleźć nieco inne wartości ale ogólna zasada jest taka sama: GEN0 powinna zawierać dużo więcej obiektów niż GEN2. Jeśli obiekty nie są zwalniane, wtedy promowane są do generacji pierwszej i drugiej. Z poprzedniego po...

Dziel się z innymi:
Piotr Zieliński » Garbage Collector, część III–healthy GC

Inne 4614 dni, 7 godzin, 37 minut temu pzielinski 160 źrodło rozwiń

W poprzednim poście przedstawiłem ogólne zasady działania GC w zarządzanych językach. Dziś przyjrzymy się bardziej na konstrukcję rozwiązania Microsoft’owego. Zakładam, że czytelnik zna już algorytm Mark&Sweep. Pamięć alokowana w .NET jest przechowywana w tzw. generacjach. Istnieją 3 generacje:Generation 0 – zwolnienie obiektu z GEN0 jest szybkie i mało kosztowne. Przechowywane są w niej obiekty używane tylko przez krótki czas. Generation 1  – obiekty, które awansowały z GEN0. Zwolnienie zasobów w GE...

Dziel się z innymi:
Piotr Zieliński » Garbage Collector–część II,

Windows 4616 dni, 14 godzin, 28 minut temu pzielinski 159 źrodło rozwiń

1 2