Курc “Performance Engineering” від CSosvita (подія в архіві)

Відбулось
19 січня 2024 (п'ятниця)
Місце
Онлайн
Вартість
10 000 грн на місяць, 10% на ЗСУ

Хороші програмісти знають інструменти, що використовують, найкращі з них можуть мислити про виконання програми на різних рівнях — від мови програмування до операційної системи та процесора​. Ці знання дозволяють знаходити вузькі місця в коді, писати коректні, надійні асинхронні та багатопоточні програми, приймати правильні архітектурні рішення.

Курс є важливим для подальшого вивчення Operating Systems, Compilers та Databases i потребує знань з Aлгоритмів.

  • старт 19 січня. тривалість 3 місяці. 15 студентів
  • Вебінар вівторок та п’ятниця о 19:00 через Zoom
  • Відео запис та матеріали заняття надаються

CPU

  • Implement a simple JVM. Unravel the mysteries of how CPU works
  • Чи всі елементарні операції однаково швидкі?
  • Як Twitter та Facebook пришвидшили продакшн код в 100 разів?

Cache

  • Speed up production code by reducing pointer chasing
  • Cache-oblivious алгоритми та структури даних
  • Measuring cache performance
  • Реалізуємо бібліотеку для I/O з файлами

Bits and Bytes

  • Engineering fast indexes with bitmaps
  • Деталі представлення та нюанси роботи з int, float, string, ptrs
  • Як влаштований variable length int під капотом у Protobuf?
  • Unicode або як Twitter обмежує розмір твіта?​

Memory

  • Реалізуємо Memory allocator та Garbage collector
  • Масиви та структури. Тонкощі реалізації list в Python
  • Alignment даних та вплив на пам’ять і швидкодію
  • Сегменти пам’яті. Як влаштований Stack і Heap?

Low-level optimizations

  • Пришвидшення за рахунок SIMD, ILP та Branch prediction
  • Intro to assembler. Read and write simple programs
  • Optimizing binary search and other classic algorithms
  • Reverse-engineering. Знешкодимо binary bomb розшифрувавши exe файл

Operating system

  • Mysteries of Virtual Memory & Page Tables unlocked
  • Key features OS provide for users
  • System calls and context switches in depth​

Processes​

  • Write your own Shell program
  • Inter-process Communication
  • Fork, Exec, Pipe

Multithreading and Concurrency

  • Threads vs. Processes vs. Coroutines: dive deep into the details
  • Data races and Synchronization objects. How to implement a mutex?
  • Напишемо Thread pool та виправимо багато конкурентних багів

Більше інформації на сайті курсу: www.csosvita.com/performance

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі