(b *testing.B)
| 131 | } |
| 132 | |
| 133 | func 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 |
no test coverage detected