Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 如何在Go to measure ops/sec中编写基准脚本_Performance_Go_Benchmarking - Fatal编程技术网

Performance 如何在Go to measure ops/sec中编写基准脚本

Performance 如何在Go to measure ops/sec中编写基准脚本,performance,go,benchmarking,Performance,Go,Benchmarking,我正在通过编写一个简单的Redis克隆来练习我的Golang 如何编写一个基准脚本,在C并发级别每秒建立X个连接,以处理服务器的协议并测量每秒的操作数 我可以简单地编写一个脚本来实现这一点: for i := range(1000) { // Open connection // Perform command // Close connection } 但我想知道每秒分配每个并发级别的连接数背后的概念 这最好由内置系统处理。例如,一个测试用例,如: func Benc

我正在通过编写一个简单的Redis克隆来练习我的Golang

如何编写一个基准脚本,在C并发级别每秒建立X个连接,以处理服务器的协议并测量每秒的操作数

我可以简单地编写一个脚本来实现这一点:

for i := range(1000) {
    // Open connection
    // Perform command
    // Close connection
}

但我想知道每秒分配每个并发级别的连接数背后的概念

这最好由内置系统处理。例如,一个测试用例,如:

func BenchmarkHello(b *testing.B) {
    for i := 0; i < b.N; i++ {
        fmt.Sprintf("hello")
    }
}
func BenchmarkHello(b*testing.b){
对于i:=0;i
将自动计算此功能的计时。有关设置它的更多详细信息,请参阅软件包文档,但是如果您以前编写过Go测试用例,那么应该非常熟悉它

有关并发基准测试的问题,请参阅
RunParallel
帮助程序,该帮助程序专门用于此方面