change: Updated benchmarks to only use reads
This commit is contained in:
		@@ -1,6 +1,7 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"git.nicholasnovak.io/nnovak/spatial-db/storage"
 | 
			
		||||
@@ -13,16 +14,19 @@ func init() {
 | 
			
		||||
	server.SetStorageRoot("skygrid-save")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// insertPointTemplate inserts a configurable variety of points into the server
 | 
			
		||||
func insertPointTemplate(testDir string, b *testing.B, pointSpread int) {
 | 
			
		||||
func readBlockTemplate(rootDir string, b *testing.B, pointSpread int) {
 | 
			
		||||
	b.ResetTimer()
 | 
			
		||||
 | 
			
		||||
	for i := 0; i < b.N; i++ {
 | 
			
		||||
		pos := world.RandomBlockPosWithRange(float64(pointSpread))
 | 
			
		||||
		if err := server.ChangeBlock(pos, world.Generic); err != nil {
 | 
			
		||||
		if _, err := server.ReadBlockAt(pos); err != nil {
 | 
			
		||||
			if errors.Is(err, storage.ChunkNotFoundError) {
 | 
			
		||||
				continue
 | 
			
		||||
			} else {
 | 
			
		||||
				b.Error(err)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func fetchChunkTemplate(testDir string, b *testing.B) {
 | 
			
		||||
@@ -38,10 +42,10 @@ func fetchChunkTemplate(testDir string, b *testing.B) {
 | 
			
		||||
 | 
			
		||||
// Insert blocks
 | 
			
		||||
 | 
			
		||||
func BenchmarkInsertClusteredPoints(b *testing.B) {
 | 
			
		||||
	insertPointTemplate("imperial-test", b, 128)
 | 
			
		||||
func BenchmarkReadClusteredPoints(b *testing.B) {
 | 
			
		||||
	readBlockTemplate("skygrid-test", b, 128)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func BenchmarkInsertSparserPoints(b *testing.B) {
 | 
			
		||||
	insertPointTemplate("imperial-test", b, 2048)
 | 
			
		||||
func BenchmarkReadSparserPoints(b *testing.B) {
 | 
			
		||||
	readBlockTemplate("skygrid-test", b, 2048)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user