Введение В этой статье я покажу вам, как профилировать и оптимизировать приложения Go, используя встроенные и универсальные инструменты, доступные в Linux. Что такое профилирование и оптимизация? Если ваша программа работает недостаточно быстро, использует слишком много памяти или неоптимально использует процессор, вы хотите выяснить, что не так, и исправить это — это профилирование и оптимизация.
Я дал это определение для того, чтобы сразу исключить вопросы некорректной работы приложения.
В этой статье мы не будем говорить о проблемах многопоточного программирования, полетов данных.
гонка данных ), о поиске ошибок (англ.
отладка ).
Для всего этого в Go есть свои утилиты и подходы, но эту тему мы оставим на будущее.
Процессор
Начнем сегодняшний обзор с процессора.Go имеет встроенный профилировщик, созданный по образцу профилировщика из набора утилит gperftools для C/C++.
Более того, Go-версия утилиты pprof, предназначенная для визуализации результатов профилирования, теперь стала основной версией и рекомендуется для визуализации как для Go, так и для C/C++.
Когда дело доходит до классификации, профилировщик Go является профилировщиком «выборки».
профилировщик выборки ).
Это означает, что с некоторой периодичностью мы прерываем программу, берем трассировку стека, записываем ее куда-то и в конце, исходя из того, как часто в трассировках стека появляются разные функции, мы понимаем, какие из них использовали больше ресурсов процессора, а какие меньше.
.
Практически все утилиты и профилировщики Go можно запускать несколькими способами, некоторые из которых описаны в этой статье.
Начнем с примера, а потом поговорим более подробно.
Пример
Теги: #Go #linux #профилирование #оптимизация #программирование #Gopackage perftest import (
-
Как Выбрать Подходящую Марку Ноутбука
19 Oct, 24 -
Некоторые Полезные Онлайн-Игры
19 Oct, 24 -
Домашние Средства От Грибка Ногтей На Ногах
19 Oct, 24 -
Римский Клуб
19 Oct, 24 -
На Youtube Будет Оплата За Просмотр
19 Oct, 24 -
Angry Birds В Кино: Первый Трейлер
19 Oct, 24