@@ -300,69 +300,32 @@ func BenchmarkLatencySelector(b *testing.B) {
300
300
}
301
301
302
302
func BenchmarkSelector_Sharded (b * testing.B ) {
303
- for _ , bcase := range []struct {
304
- name string
305
- serversHook func (servers []Server )
306
- }{
307
- {
308
- name : "AllFit" ,
309
- serversHook : func (servers []Server ) {},
310
- },
311
- {
312
- name : "AllButOneFit" ,
313
- serversHook : func (servers []Server ) {
314
- servers [0 ].Kind = LoadBalancer
315
- },
316
- },
317
- {
318
- name : "HalfFit" ,
319
- serversHook : func (servers []Server ) {
320
- for i := 0 ; i < len (servers ); i += 2 {
321
- servers [i ].Kind = LoadBalancer
322
- }
323
- },
324
- },
325
- {
326
- name : "OneFit" ,
327
- serversHook : func (servers []Server ) {
328
- for i := 1 ; i < len (servers ); i ++ {
329
- servers [i ].Kind = LoadBalancer
330
- }
331
- },
332
- },
333
- } {
334
- bcase := bcase
335
-
336
- b .Run (bcase .name , func (b * testing.B ) {
337
- subject := readpref .Primary ()
338
-
339
- s := Server {
340
- Addr : address .Address ("localhost:27017" ),
341
- HeartbeatInterval : time .Duration (10 ) * time .Second ,
342
- LastWriteTime : time .Date (2017 , 2 , 11 , 14 , 0 , 0 , 0 , time .UTC ),
343
- LastUpdateTime : time .Date (2017 , 2 , 11 , 14 , 0 , 2 , 0 , time .UTC ),
344
- Kind : Mongos ,
345
- WireVersion : & VersionRange {Min : 0 , Max : 5 },
346
- }
347
- servers := make ([]Server , 100 )
348
- for i := 0 ; i < len (servers ); i ++ {
349
- servers [i ] = s
350
- }
351
- bcase .serversHook (servers )
352
- c := Topology {
353
- Kind : Sharded ,
354
- Servers : servers ,
355
- }
303
+ subject := readpref .Primary ()
356
304
357
- b .ResetTimer ()
358
- b .RunParallel (func (p * testing.PB ) {
359
- b .ReportAllocs ()
360
- for p .Next () {
361
- _ , _ = ReadPrefSelector (subject ).SelectServer (c , c .Servers )
362
- }
363
- })
364
- })
305
+ s := Server {
306
+ Addr : address .Address ("localhost:27017" ),
307
+ HeartbeatInterval : time .Duration (10 ) * time .Second ,
308
+ LastWriteTime : time .Date (2017 , 2 , 11 , 14 , 0 , 0 , 0 , time .UTC ),
309
+ LastUpdateTime : time .Date (2017 , 2 , 11 , 14 , 0 , 2 , 0 , time .UTC ),
310
+ Kind : Mongos ,
311
+ WireVersion : & VersionRange {Min : 0 , Max : 5 },
312
+ }
313
+ servers := make ([]Server , 100 )
314
+ for i := 0 ; i < len (servers ); i ++ {
315
+ servers [i ] = s
316
+ }
317
+ servers [0 ].Kind = LoadBalancer
318
+ c := Topology {
319
+ Kind : Sharded ,
320
+ Servers : servers ,
365
321
}
322
+
323
+ b .ResetTimer ()
324
+ b .RunParallel (func (p * testing.PB ) {
325
+ for p .Next () {
326
+ _ , _ = ReadPrefSelector (subject ).SelectServer (c , c .Servers )
327
+ }
328
+ })
366
329
}
367
330
368
331
func TestSelector_Single (t * testing.T ) {
0 commit comments