Как узнать время выполнения программы golang

Я написал следующую функцию, которая при использовании с Defer наверняка сработает, но есть ли что-нибудь в стандартной библиотеке, которое я мог бы использовать для этого? Я ищу что-то похожее на Python timeit , которое я мог бы использовать прямо из оболочки?

package main import ( «fmt» «time» ) func main() < defer timeTrack(time.Now(), «looptest») nums := []intvar m []int for n := range nums < if n%2 == 0 < m = append(m, n) >> > func timeTrack(start time.Time, name string)
Комментарии (2)

Кажется, вы ищете ориентиры.

См. Связанный / возможный дубликат Порядок кода и исполнения.

11.03.2018 14:22

API ввода вопросов — это полезный инструмент для интеграции моделей машинного обучения, таких как ChatGPT, в приложения, требующие обработки.

Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете использовать тестирование

func BenchmarkFoo(b *testing.B) < for i := 0; i < b.N; i++ < Foo() >>
11.03.2018 14:32

Вы можете использовать «эталонный» подход:

Основы Golang В Одном Видео

  1. Назовите файл% SOMETHING% _test.go
  2. Пишите в него тесты, тесты, примеры следующим образом:

package main import ( «testing» ) func fn() < nums := []intvar m []int for n := range nums < if n%2 == 0 < m = append(m, n) >> > func BenchmarkFunc(b *testing.B) < for i := 0; i < b.N; i++ < fn() >>
go test -bench .
goos: darwin goarch: amd64 BenchmarkFunc-2 5000000 360 ns/op 120 B/op 4 allocs/op PASS ok command-line-arguments 2.190s
11.03.2018 14:38
Ответ принят как подходящий

Используйте пакет Go testing . Например,

package main func doStuff() < nums := []intvar m []int for n := range nums < if n%2 == 0 < m = append(m, n) >> > func main()
package main import «testing» func BenchmarkStuff(b *testing.B) < for i := 0; i < b.N; i++ < doStuff() >>
$ go test -bench=. -benchmem goos: linux goarch: amd64 pkg: main BenchmarkStuff-4 5000000 276 ns/op 120 B/op 4 allocs/op

Читайте также:
Как узнать активность программы

Используя информацию из теста, вы можете улучшить производительность. Уменьшите количество и размер выделений, используя оценку для инициализации слайса m .

func doStuff() < nums := []intm := make([]int, 0, len(nums)/2+1) for n := range nums < if n%2 == 0 < m = append(m, n) >> >
$ go test -bench=. -benchmem goos: linux goarch: amd64 pkg: main BenchmarkStuff-4 20000000 83.1 ns/op 48 B/op 1 allocs/op

Источник: reddeveloper.ru

Как узнать за какое время скомпилировалась программа на Golang?

Здравствуйте, подскажите какие есть способы узнать за какое время скомпилировалась программа?
И как получить отладочную информацию.

  • Вопрос задан более года назад
  • 189 просмотров

3 комментария

Простой 3 комментария

2ord

Handling time in golang

Неясно зачем это вообще необходимо.

И как получить отладочную информацию

А что именно нужно? И почему не хотите использовать отладчик?
12rbah, Сборка на удаленной машине. Не под мою архитектуру и.т.д.
Решения вопроса 1

axifive

Software Engineer

Вам нужно засечь время исполнения.
В Unix системах есть команда: time go . .
В Windows PowerShell есть Measure-Command

Источник: qna.habr.com

Как можно производить замер времени выполнения программы в Go?

qaa-engineer.ru > Golang > Как можно производить замер времени выполнения программы в Go?

В Go для замера времени выполнения программы можно использовать пакет time.

import ( «fmt» «time» ) func main() < start := time.Now() // Здесь должен быть код, который нужно замерить time.Sleep(time.Millisecond * 500) // Пример задержки на полсекунды end := time.Now() fmt.Println(«Программа выполнилась за:», end.Sub(start)) >

В данном примере мы использовали функцию time.Now() для получения текущего времени в начале и конце выполнения программы. Функция Sub() позволяет получить разницу между временными значениями и вывести ее в удобном формате.

Похожие записи:

  1. Замер времени выполнения куска кода delphi
  2. Замер времени исполения плейбука для отдельного хоста
  3. Как осуществить замер производительности приложений с помощью Playwright?
  4. Какой паттерн проектирования помогает скрыть необходимость выполнения дополнительных шагов до выполнения основной деятельности программы?
  5. Как производить оптимизацию времени выполнения запросов в PostgreSQL?
Читайте также:
Proshow producer как пользоваться программой

Источник: qaa-engineer.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru