Golang: měření času po druhé

Měřit čas provádění nějaké části bez debugování jsem popisoval už jednou tady, nicméně lze dělat třeba i takto:

package main

import (
	"fmt"
	"time"
)

func timeTrack(msg string, start time.Time) {
	fmt.Printf("%s -> %v\n", msg, time.Since(start))
}

func main() {
	defer timeTrack("main()", time.Now())

	doIt()
}

func doIt() {
	defer timeTrack("doIt()", time.Now())

	time.Sleep(time.Second * 1)
	fmt.Println("DO IT!")
}

Výsledek pak bude vypadat takto:

Jednodušeji už to nejde 🙂

Publikováno v Go