РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
985 of 1593 menu

Функция pprof.StopCPUProfile

Функция pprof.StopCPUProfile останавливает профилирование CPU, которое было запущено вызовом pprof.StartCPUProfile. Функция не принимает никаких параметров и завершает запись профиля в указанный при запуске файл. После вызова этой функции профилирование CPU останавливается, и собранные данные сохраняются для последующего анализа. Функция должна вызываться после завершения участка кода, который требуется профилировать.

Синтаксис

pprof.StopCPUProfile()

Пример

Давайте запустим профилирование CPU для функции, выполняющей вычисления, и остановим его с помощью pprof.StopCPUProfile:

package main import ( "os" "runtime/pprof" ) func main() { f, _ := os.Create("cpu.prof") pprof.StartCPUProfile(f) defer pprof.StopCPUProfile() sum := 0 for i := 0; i < 1000000; i++ { sum += i * i } }

В результате выполнения кода в файл cpu.prof будет записан профиль CPU для выполнения цикла.

Пример

Рассмотрим пример с профилированием более сложной функции и остановкой профилирования вручную:

package main import ( "os" "runtime/pprof" "time" ) func heavyComputation() { result := 0 for i := 0; i < 100000; i++ { for j := 0; j < 1000; j++ { result += i * j } } } func main() { f, _ := os.Create("cpu.prof") pprof.StartCPUProfile(f) heavyComputation() pprof.StopCPUProfile() time.Sleep(100 * time.Millisecond) }

Результат выполнения кода:

"CPU profile saved to cpu.prof"

Профилирование останавливается после вызова pprof.StopCPUProfile, и программа продолжает выполнение с паузой в 100 миллисекунд.

Смотрите также

  • функцию pprof.StartCPUProfile,
    которая запускает профилирование CPU
  • функцию pprof.WriteHeapProfile,
    которая записывает профиль памяти
  • функцию pprof.Lookup,
    которая возвращает профиль по имени
  • пакет runtime/pprof,
    который предоставляет инструменты для профилирования
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить