github.com/weaviate/weaviate@v1.24.6/adapters/repos/db/vector/hnsw/condensor_test.go (about) 1 // _ _ 2 // __ _____ __ ___ ___ __ _| |_ ___ 3 // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ 4 // \ V V / __/ (_| |\ V /| | (_| | || __/ 5 // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| 6 // 7 // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. 8 // 9 // CONTACT: hello@weaviate.io 10 // 11 12 package hnsw 13 14 import ( 15 _ "fmt" 16 "math/rand" 17 "testing" 18 19 "github.com/sirupsen/logrus/hooks/test" 20 ) 21 22 func BenchmarkCondensor2NewUint64Write(b *testing.B) { 23 b.StopTimer() 24 logger, _ := test.NewNullLogger() 25 c := NewMemoryCondensor(logger) 26 c.newLog = NewWriterSize(c.newLogFile, 1*1024*1024) 27 b.StartTimer() 28 for i := 0; i < b.N; i++ { 29 c.writeUint64(c.newLog, rand.Uint64()) 30 } 31 } 32 33 func BenchmarkCondensor2NewUint16Write(b *testing.B) { 34 b.StopTimer() 35 logger, _ := test.NewNullLogger() 36 c := NewMemoryCondensor(logger) 37 c.newLog = NewWriterSize(c.newLogFile, 1*1024*1024) 38 b.StartTimer() 39 for i := 0; i < b.N; i++ { 40 c.writeUint16(c.newLog, uint16(rand.Uint32())) 41 } 42 } 43 44 func BenchmarkCondensor2WriteCommitType(b *testing.B) { 45 b.StopTimer() 46 logger, _ := test.NewNullLogger() 47 c := NewMemoryCondensor(logger) 48 c.newLog = NewWriterSize(c.newLogFile, 1*1024*1024) 49 b.StartTimer() 50 for i := 0; i < b.N; i++ { 51 c.writeCommitType(c.newLog, HnswCommitType(1)) 52 } 53 } 54 55 func BenchmarkCondensor2WriteUint64Slice(b *testing.B) { 56 b.StopTimer() 57 logger, _ := test.NewNullLogger() 58 c := NewMemoryCondensor(logger) 59 c.newLog = NewWriterSize(c.newLogFile, 1*1024*1024) 60 testInts := make([]uint64, 100) 61 for i := 0; i < 100; i++ { 62 testInts[i] = rand.Uint64() 63 } 64 b.StartTimer() 65 for i := 0; i < b.N; i++ { 66 c.writeUint64Slice(c.newLog, testInts) 67 } 68 }