MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / setupBenchmarkMuxParallel

Function setupBenchmarkMuxParallel

xenomint/mux_test.go:133–192  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

131}
132
133func setupBenchmarkMuxParallel(b *testing.B) (
134 bp, miner *nodeRPCInfo, ms *MuxService, r []*MuxQueryRequest,
135) {
136 var err error
137 var priv *ca.PrivateKey
138 // Use testing private key to create several nodes
139 if priv, err = kms.GetLocalPrivateKey(); err != nil {
140 b.Fatalf("failed to setup bench environment: %v", err)
141 }
142
143 bp, miner, ms, err = setupMuxParallel(priv)
144 if err != nil {
145 b.Fatalf("failed to setup bench environment: %v", err)
146 }
147
148 // Setup query requests
149 var (
150 sel = `SELECT v1, v2, v3 FROM bench WHERE k=?`
151 ins = `INSERT INTO bench VALUES (?, ?, ?, ?)`
152 src = make([][]interface{}, benchmarkNewKeyLength)
153 )
154 r = make([]*MuxQueryRequest, benchmarkMaxKey)
155 // Read query key space [0, n-1]
156 for i := 0; i < benchmarkReservedKeyLength; i++ {
157 var req = buildRequest(types.ReadQuery, []types.Query{
158 buildQuery(sel, i+benchmarkReservedKeyOffset),
159 })
160 if err = req.Sign(priv); err != nil {
161 b.Fatalf("failed to setup bench environment: %v", err)
162 }
163 r[i] = &MuxQueryRequest{
164 DatabaseID: benchmarkDatabaseID,
165 Request: req,
166 }
167 }
168 // Write query key space [n, 2n-1]
169 for i := range src {
170 var vals [benchmarkVNum][benchmarkVLen]byte
171 src[i] = make([]interface{}, benchmarkVNum+1)
172 src[i][0] = i + benchmarkNewKeyOffset
173 for j := range vals {
174 rand.Read(vals[j][:])
175 src[i][j+1] = string(vals[j][:])
176 }
177 }
178 for i := 0; i < benchmarkNewKeyLength; i++ {
179 var req = buildRequest(types.WriteQuery, []types.Query{
180 buildQuery(ins, src[i]...),
181 })
182 if err = req.Sign(priv); err != nil {
183 b.Fatalf("failed to setup bench environment: %v", err)
184 }
185 r[i+benchmarkNewKeyOffset] = &MuxQueryRequest{
186 DatabaseID: benchmarkDatabaseID,
187 Request: req,
188 }
189 }
190

Callers 1

BenchmarkMuxParallelFunction · 0.85

Calls 7

GetLocalPrivateKeyFunction · 0.92
setupMuxParallelFunction · 0.85
FatalfMethod · 0.80
buildRequestFunction · 0.70
buildQueryFunction · 0.70
SignMethod · 0.65
ReadMethod · 0.65

Tested by

no test coverage detected