我或多或少遵循这些说明将我的应用部署到heroku。一切都运作良好。
http://mmcgrana.github.io/2012/09/getting-started-with-go-on-heroku.html
我有一些基准测试,我想在heroku上运行,以测试我的本地计算机和heroku盒之间的性能是否存在差异。不幸的是,我无法弄清楚如何运行它们(heroku无法找到go可执行文件)。有可能这样做吗?
谢谢!
答案 0 :(得分:1)
我还没有使用Heroku。 Heroku可能使用go test
命令运行基准测试时出现问题;临时目录可能有问题。
'去测试'重新编译每个包以及任何带有名称的文件 匹配文件模式" * test.go"。名称以。开头的文件 " " (包括" _test.go")或"。"被忽略了。这些附加文件 可以包含测试函数,基准函数和示例 功能。请参阅帮助testfunc'更多。每个列出的包都会导致 执行单独的测试二进制文件。
该软件包内置在一个临时目录中,因此不会产生干扰 非测试安装。
尝试在程序中运行基准测试。例如,
package main
import (
"fmt"
"math"
"testing"
)
// a function to be benchmarked
func Area(r float64) float64 {
return math.Pi * r * r
}
// benchmark function
func BenchmarkArea(b *testing.B) {
r := 42.0
for i := 0; i < b.N; i++ {
_ = Area(r)
}
}
func main() {
br := testing.Benchmark(BenchmarkArea)
fmt.Println(br.String() + br.MemString())
}
输出:
2000000000 1.21 ns/op 0 B/op 0 allocs/op
func Benchmark(f func(b *B)) BenchmarkResult
Benchmark基准测试单一功能。用于创建自定义 不使用&#34; go test&#34;的基准测试命令。