Производительность и профилирование
Часть курса Go
В какой-то момент кто-то говорит, что сервис работает медленно, вы открываете код и сразу замечаете цикл, который наверняка в этом виноват. Вы его переписываете, теперь он гораздо изящнее, а сервис ровно так же медленен, как и раньше, потому что настоящая цена была в кодировании JSON тремя функциями дальше, о которой никто и не подумал.
Это случается со всеми, регулярно, и это не провал в мастерстве. Программы проводят время там, где человеческая интуиция плохо предсказывает - потому что компилятор, сборщик мусора и кэши процессора принимают решения, которые не писали вы. Единственный надёжный путь - измерить, изменить одну вещь и измерить снова. ...
Хочешь изучать Go Производительность и профилирование в реальной среде?
Нажми ниже, получи Linux-машину с Go наготове и пройди Производительность и профилирование на практике вместе с AI-наставником, который знает твой код.
Начать этот урокПроизводительность и профилированиеЧему вы научитесь
- Go test -bench
- Pprof CPU and heap profiles
- Escape analysis with -gcflags=-m
- Avoiding unnecessary allocations
- Preallocating slices
- Sync.Pool intuition
Читай этот урок на своём языке
Все уроки этого курса
20 уроков- 1Привет, Go25 мин
- 2Переменные и типы25 мин
- 3Управление потоком: if и for30 мин
- 4Функции30 мин
- 5Срезы (slices) и карты (maps)35 мин
- 6Структуры (structs) и указатели (pointers)35 мин
- 7Методы (methods) и интерфейсы (interfaces)35 мин
- 8Обработка ошибок35 мин
- 9Модули (modules) и структура проекта35 мин
- 10Мини-проект на основе CLI40 мин
- 11Обзор стандартной библиотеки40 мин
- 12Тестирование и бенчмарки (benchmarks)40 мин
- 13Горутины (goroutines) и каналы (channels)40 мин
- 14Паттерны параллелизма45 мин
- 15Дженерики (generics)35 мин
- 16HTTP-серверы45 мин
- 17Базы данных с database/sql45 мин
- 18Производительность и профилирование40 мин
- 19Паттерны проектирования в Go40 мин
- 20Развёртывание и эксплуатация45 мин
