Skip to content

[SumDB] Improved MapFn performance 10x#104

Merged
mhutchinson merged 1 commit intotransparency-dev:mainfrom
mhutchinson:fastMap
Mar 18, 2026
Merged

[SumDB] Improved MapFn performance 10x#104
mhutchinson merged 1 commit intotransparency-dev:mainfrom
mhutchinson:fastMap

Conversation

@mhutchinson
Copy link
Contributor

@mhutchinson mhutchinson commented Mar 18, 2026

Added test and benchmark for MapFn, which confirmed slow performance due
to regexps.

Before:

go test -bench=BenchmarkMapFn -benchmem

goos: linux
goarch: amd64
pkg: github.com/transparency-dev/incubator/vindex/cmd/sumdbindex
cpu: Intel(R) Xeon(R) CPU @ 2.20GHz
BenchmarkMapFn-24    	   99729	     12438 ns/op	     565 B/op	      10 allocs/op
PASS
ok  	github.com/transparency-dev/incubator/vindex/cmd/sumdbindex	1.329s

After:

go test -bench=BenchmarkMapFn -benchmem

goos: linux
goarch: amd64
pkg: github.com/transparency-dev/incubator/vindex/cmd/sumdbindex
cpu: Intel(R) Xeon(R) CPU @ 2.20GHz
BenchmarkMapFn-24    	 1361030	       873.2 ns/op	     288 B/op	       4 allocs/op
PASS
ok  	github.com/transparency-dev/incubator/vindex/cmd/sumdbindex	1.280s

Added test and benchmark for MapFn, which confirmed slow performance due
to regexps.

Before:
```
go test -bench=BenchmarkMapFn -benchmem

goos: linux
goarch: amd64
pkg: github.com/transparency-dev/incubator/vindex/cmd/sumdbindex
cpu: Intel(R) Xeon(R) CPU @ 2.20GHz
BenchmarkMapFn-24    	   99729	     12438 ns/op	     565 B/op	      10 allocs/op
PASS
ok  	github.com/transparency-dev/incubator/vindex/cmd/sumdbindex	1.329s
```

After:
```
go test -bench=BenchmarkMapFn -benchmem

goos: linux
goarch: amd64
pkg: github.com/transparency-dev/incubator/vindex/cmd/sumdbindex
cpu: Intel(R) Xeon(R) CPU @ 2.20GHz
BenchmarkMapFn-24    	 1361030	       873.2 ns/op	     288 B/op	       4 allocs/op
PASS
ok  	github.com/transparency-dev/incubator/vindex/cmd/sumdbindex	1.280s
```
@mhutchinson mhutchinson merged commit 0f2b579 into transparency-dev:main Mar 18, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants