コード例 #1
0
ファイル: benchmark_embedded.go プロジェクト: alexyer/ghost
func benchmarkEmbeddedGet(gh *ghost.Collection) result {
	var wg sync.WaitGroup
	keys, vals := initTestData("get", requests, size, keyrange)
	populateTestDataEmbedded(gh, keys, vals)

	start := time.Now()
	for i := requests; i >= 0; i -= clients {
		for j := 0; j < clients; j++ {
			wg.Add(1)
			go func(i int) {
				gh.Get(keys[j])
				wg.Done()
			}(i)
		}
		wg.Wait()
	}

	latency := time.Since(start)

	return result{
		totTime: latency,
		reqSec:  float64(requests) / latency.Seconds(),
	}
}