From 1c85a1d2328b8a78fe9d590416cae0158a2cb0dc Mon Sep 17 00:00:00 2001 From: Roman Date: Tue, 20 May 2025 23:44:22 +0400 Subject: [PATCH] perf: increase pathfinder map fill ratio to 0.99 and update dependencies --- go.mod | 4 ++-- go.sum | 4 ++-- path.go | 4 ++-- path_test.go | 14 +++++++------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index dd619b3..8090015 100644 --- a/go.mod +++ b/go.mod @@ -1,9 +1,9 @@ module github.com/kelindar/tile -go 1.23 +go 1.24 require ( - github.com/kelindar/intmap v1.4.1 + github.com/kelindar/intmap v1.5.0 github.com/kelindar/iostream v1.4.0 github.com/stretchr/testify v1.9.0 ) diff --git a/go.sum b/go.sum index a913624..f924de3 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/kelindar/intmap v1.4.1 h1:3jTPTrfNx4pxBPURR1+6f4YhbZS57CzsU0S9NEV51ZI= -github.com/kelindar/intmap v1.4.1/go.mod h1:NkypxhfaklmDTJqwano3Q1BWk6je77qgQwszDwu8Kc8= +github.com/kelindar/intmap v1.5.0 h1:VY+AdO4Wx1sF1vGiTkS8n2lxhmFgOQwCIFuePQP4Iqw= +github.com/kelindar/intmap v1.5.0/go.mod h1:NkypxhfaklmDTJqwano3Q1BWk6je77qgQwszDwu8Kc8= github.com/kelindar/iostream v1.4.0 h1:ELKlinnM/K3GbRp9pYhWuZOyBxMMlYAfsOP+gauvZaY= github.com/kelindar/iostream v1.4.0/go.mod h1:MkjMuVb6zGdPQVdwLnFRO0xOTOdDvBWTztFmjRDQkXk= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= diff --git a/path.go b/path.go index 31b8f31..9fb9071 100644 --- a/path.go +++ b/path.go @@ -159,7 +159,7 @@ type pathfinder struct { var pathfinders = sync.Pool{ New: func() any { return &pathfinder{ - edges: intmap.New(32, .95), + edges: intmap.NewWithFill(32, .99), frontier: newFrontier(), } }, @@ -169,7 +169,7 @@ var pathfinders = sync.Pool{ func acquire(capacity int) *pathfinder { v := pathfinders.Get().(*pathfinder) if v.edges.Capacity() < capacity { - v.edges = intmap.New(capacity, .95) + v.edges = intmap.NewWithFill(capacity, .99) } return v diff --git a/path_test.go b/path_test.go index c9b3e62..77bb6d4 100644 --- a/path_test.go +++ b/path_test.go @@ -55,13 +55,13 @@ func TestDraw(t *testing.T) { } /* -BenchmarkPath/9x9-24 2704395 440.4 ns/op 256 B/op 1 allocs/op -BenchmarkPath/300x300-24 1134 1033808 ns/op 3845 B/op 4 allocs/op -BenchmarkPath/381x381-24 2782 377676 ns/op 7298 B/op 5 allocs/op -BenchmarkPath/384x384-24 2716 382663 ns/op 7298 B/op 5 allocs/op -BenchmarkPath/3069x3069-24 847 1368243 ns/op 100140 B/op 7 allocs/op -BenchmarkPath/3072x3072-24 849 1368387 ns/op 99954 B/op 7 allocs/op -BenchmarkPath/6144x6144-24 3050 387195 ns/op 12802 B/op 5 allocs/op +BenchmarkPath/9x9-24 2856020 423.0 ns/op 256 B/op 1 allocs/op +BenchmarkPath/300x300-24 1167 1006143 ns/op 3845 B/op 4 allocs/op +BenchmarkPath/381x381-24 3150 371478 ns/op 12629 B/op 5 allocs/op +BenchmarkPath/384x384-24 3178 374982 ns/op 7298 B/op 5 allocs/op +BenchmarkPath/3069x3069-24 787 1459683 ns/op 106188 B/op 7 allocs/op +BenchmarkPath/3072x3072-24 799 1552230 ns/op 104906 B/op 7 allocs/op +BenchmarkPath/6144x6144-24 3099 381935 ns/op 12716 B/op 5 allocs/op */ func BenchmarkPath(b *testing.B) { b.Run("9x9", func(b *testing.B) {