Span, Memory i ReadOnlySequence stały się stałym elementem .NET i pojawiają się praktycznie wszędzie. Kiedy przeglądałem dokumentację tych struktur, zauważyłem, że to w jaki sposób mam je zamodelowane w głowie różni się od dokumentacji. Zapraszam do wizyty w świat niskopoziomowego spotkania z pamięcią i tego jak to rozumiemy. Zapraszam tym mocniej, jeżeli pojęć tych nie używasz codziennie, a chszesz je zrozumieć.
Sztuka programowania 1386 dni, 1 godzinę, 11 minut temu 225 źrodło rozwiń
Would be post-mortem finalization available thanks to phantom references useful in .NET? What is your opinion, especially based on your experience with the finalization of your use cases? Please, share your insights in comments!
Hi all! I am thrilled to announce that after more than two years of intensive book writing, it is finally available for preorder! Its about 800 pages are solely dedicated to the topic of .NET memory management and its Garbage Collector. With many, many internal workings of all this. I believe, personally, that there is currently no single book or even finite set of articles online that give so comprehensive insight into this topic. As a person who sincerely loves .NET a...
Async programming becomes more and more popular. While being very convenient in use, from performance perspective there are scenarios where regular Task-returning async methods have one serious drawback: they need to allocate a new Task to represent the operation (and its result).
A few months ago I wrote an article about Zero GC in .NET Core 2.0. This proof of concept was based on a preview version of .NET Core 2.0. However upcoming .NET Core 2.1 contains many improvements in that field so I’ve decided to write follow up post. I’ve also answered one of the questions bothering me for a long time – how would real usage of Zero GC like in the context of ASP.NET Core application?
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.
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...
Daj się poznać 2017 2745 dni, 2 godziny, 23 minuty temu 75 źrodło rozwiń
Projekt MemoryVisualizera toczy się w kilku wątkach, ale jak na razie dość mało poświęciłem jednemu z najważniejszych - analizy pamięci. Planuję bardziej rozbudowany post o tym jak można się do pamięci dobrać i co tak naprawdę siedzi pod spodem. Na razie jednak jako "zajawkę...
Daj się poznać 2016 3125 dni, 23 godziny, 19 minut temu 35 źrodło rozwiń
Memory Visualizer wymaga udostępnienia języka zapytań odnośnie obiektów i struktur w pamięci. Jak pisałem w części Cypher, co to jest?!, język ten nazywam MQL - Memory Query Language. W istocie jest to jednak po prostu Cypher, który rozszerzę o elementy kontrolujące...
Daj się poznać 2016 3137 dni, 2 godziny, 9 minut temu 42 źrodło rozwiń
.NET framework in version 4.5 provides a cool improvement into Garbage Collector – server mode. This option allows GC to be more efficient on modern hardware. MSDN contains a great article about this feature, which I really recommend you to read. ASP.NET has Server mode turned on by default. Nothing stands on the way of enabling server mode on console app. You can do it with app.config and three lines in xml. My project Kronos is a distributed cache system, where GC will have a lot of work. How to en...
Daj się poznać 2016 3142 dni, 23 godziny, 38 minut temu 142 źrodło rozwiń
C#.NET, c#, CLR, GC, luźne powiązania, pamiec, sterta, stos, WeakReferencePrzemysław Walkowski Wiedza na temat zarządzania pamięcią w C# jest ważna ale nie jest niezbędna. Garbage Collection wykonuje mnóstwo czynności za Nas. Jednak czasem wiedza o pamięci może być pomocna i taka wiedza przydaje się na rozmowy kwalifikacyjne i na egzaminy (70-483). Poniżej zebranie najważniejszych informacji o GC, które należy znać. Osobiście mam zdanie, że sposób zarządzania pamięcią w C# i Javie spowodował, że w wi...
Sztuka programowania 3558 dni, 54 minuty temu 522 źrodło rozwiń
Dzisiaj historia z życia wzięta – czyli ponad dzień pracy programisty. Akcja będzie wartka, a potencjalnemu czytelnikowi zalecam wczytanie do pamięci RAM wewnątrz głów dll’ek z zasobami o WPF’ie. Zaczęło się niewinnie, przyszło zgłoszenie od testerów, że aplikacja zajmuje strasznie dużo pamięci, a przy wykonywaniu pewnej operacji ta zajętość jeszcze rośnie i wielce nazywać to chcieli memory leakiem. Jako programista raczej nie dowierzałem, przecież w dot-necie tak być nie może, zgodnie z teorią pamięć sa...