Wszystkie kursy
Zaawansowany 5 lekcji · 44 min · 5 z ćwiczeniami

Pamięć bez alokacji

Span, Memory, ref struct i wypożyczalnie tablic. Kurs o pisaniu kodu, który nie karmi odśmiecacza - z parserem tekstu jako ćwiczeniem końcowym.

0 z 5 lekcji
Zacznij kurs
  1. Span i ReadOnlySpan w C# - okna na pamięć bez alokacji

    Eliminacja alokacji w pętlach przetwarzania - Span jako widok na ciągły obszar pamięci, ReadOnlySpan do parsowania tekstu bez Substring, ref struct i jego ograniczenia, stackalloc, ArrayPool, Memory dla async. Siedemnasta część kursu C#.

    9 min quiz zadanie

  2. Memory i ReadOnlyMemory w C# - asynchroniczny krewniak Spana

    Memory<T> jako obietnica Span<T> przeżywająca await, ReadAsync z buforem, ReadOnlyMemory<char> dla tekstu w async, IMemoryOwner i MemoryPool dla recyklingu, lifetime rules - reguły 3-8 z dokumentacji MS o czasie życia bufora. Osiemnasta część kursu C#.

    9 min quiz zadanie

  3. ref struct w C# - własne typy stack-only, mechanika zakazów CLR

    Mit struct=stos rozbity, ref struct jako żelazna obietnica nieopuszczania stosu, tworzenie własnych typów stack-only (parsery, tokenizery), pełna lista zakazów CLR z mechaniką (async, pole klasy, iteratory, lambdy, boxing). Dziewiętnasta część kursu C#.

    9 min quiz zadanie

  4. Parsowanie tekstu bez alokacji - Zero-Allocation Log Parser w C#

    Praktyczne zastosowanie Span<char>, ReadOnlySpan<char> i ref struct - parsowanie linii logu serwera bez ani jednej alokacji na stercie. IndexOf, Slice, SequenceEqual, int.Parse i DateTime.Parse z przeciążeniami dla Span. Dwudziesta część kursu C#.

    9 min quiz zadanie

  5. ArrayPool i MemoryPool w C# - wypożyczalnia tablic kontra LOH

    Recykling dużych buforów dla hot path - LOH (Large Object Heap) i jego pułapki, ArrayPool<T>.Shared z Rent/Return, pułapka nadmiarowego rozmiaru, MemoryPool<T> z IMemoryOwner i using dla async. Dwudziesta pierwsza część kursu C#.

    8 min quiz zadanie

Egzamin z całego kursu

Ten kurs nie ma jeszcze egzaminu. Lekcje mają własne quizy - przejdź je po kolei, a egzamin pojawi się tutaj, gdy powstanie.