forked from joejulian/gio
gpu: optimize pack.tryAdd
name old time/op new time/op delta Packer-32 559µs ± 2% 295µs ± 1% -47.18% (p=0.008 n=5+5) Signed-off-by: Egon Elbre <egonelbre@gmail.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
// SPDX-License-Identifier: Unlicense OR MIT
|
||||
|
||||
package gpu
|
||||
|
||||
import (
|
||||
"image"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func BenchmarkPacker(b *testing.B) {
|
||||
var p packer
|
||||
p.maxDims = image.Point{X: 4096, Y: 4096}
|
||||
for i := 0; i < b.N; i++ {
|
||||
p.clear()
|
||||
p.newPage()
|
||||
for k := 0; k < 500; k++ {
|
||||
_, ok := p.tryAdd(xy(k))
|
||||
if !ok {
|
||||
b.Fatal("add failed", i, k, xy(k))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func xy(v int) image.Point {
|
||||
return image.Point{
|
||||
X: ((v / 16) % 16) + 8,
|
||||
Y: (v % 16) + 8,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user