2017-04-13 1 views

답변

4

go test을 실행하지 않고 testing.Benchmark을 사용할 수 있습니다.

package main 

import (
    "fmt" 
    "testing" 
) 

func Fib(n int) int { 
    if n <= 0 { 
     return 0 
    } else if n == 1 { 
     return 1 
    } 
    return Fib(n-1) + Fib(n-2) 
} 

func main() { 
    res := testing.Benchmark(func(b *testing.B) { 
     for n := 0; n < b.N; n++ { 
      Fib(10) 
     } 
    }) 
    fmt.Println(res) 
    // (on my mac) 
    // 3000000    454 ns/op 
}