| 295 | } |
| 296 | |
| 297 | func BenchmarkQuery_FindAll(b *testing.B) { |
| 298 | runtime.GOMAXPROCS(4) |
| 299 | |
| 300 | store, err := kvstore.OpenStore("test") |
| 301 | if err != nil { |
| 302 | b.Fatal(err) |
| 303 | } |
| 304 | defer func() { |
| 305 | _ = store.Close() |
| 306 | }() |
| 307 | |
| 308 | db, err := store.NewDB("db1") |
| 309 | if err != nil { |
| 310 | b.Fatal(err) |
| 311 | } |
| 312 | |
| 313 | table, err := kvstore.NewTable[*testCachedItem]("cache_items", &testCacheItemEncoder[*testCachedItem]{}) |
| 314 | if err != nil { |
| 315 | b.Fatal(err) |
| 316 | } |
| 317 | |
| 318 | db.AddTable(table) |
| 319 | |
| 320 | b.ResetTimer() |
| 321 | |
| 322 | b.RunParallel(func(pb *testing.PB) { |
| 323 | for pb.Next() { |
| 324 | err = table.Query(). |
| 325 | //Limit(100). |
| 326 | FindAll(func(tx *kvstore.Tx[*testCachedItem], item kvstore.Item[*testCachedItem]) (goNext bool, err error) { |
| 327 | return true, nil |
| 328 | }) |
| 329 | if err != nil { |
| 330 | b.Fatal(err) |
| 331 | } |
| 332 | } |
| 333 | }) |
| 334 | } |