go-mod/sumdb
Filippo Valsorda 87140ecd02 sumdb/tlog: make NewTiles only generate strictly necessary tiles
Currently, NewTiles returns tiles for every partial tree size from
oldTreeSize to newTreeSize. However, if a log is only publishing
checkpoints at oldTreeSize and newTreeSize, the trees of sizes
oldTreeSize+1 to newTreeSize-1 are unverifiable, so those tiles are
unnecessary. Also, NewTiles currently returns tiles that already exists
as part of oldTreeSize, which are not new.

This has a significant performance and cost difference when uploading
tiles individually to e.g. object storage.

Change-Id: I92a5d76bc54e7022991e51997e793356ab5e7d5c
Reviewed-on: https://go-review.googlesource.com/c/mod/+/570295
Auto-Submit: Filippo Valsorda <filippo@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
2024-03-15 15:56:33 +00:00
..
dirhash sumdb/dirhash: correct documentation of hash 2023-02-02 20:50:06 +00:00
note all: add godoc links 2023-06-21 11:18:17 +00:00
storage all: add godoc links 2023-06-21 11:18:17 +00:00
tlog sumdb/tlog: make NewTiles only generate strictly necessary tiles 2024-03-15 15:56:33 +00:00
cache.go sumdb: client and server protocol for checksum database 2019-05-31 18:24:29 +00:00
client.go sumdb: replace globsMatchPath with module.MatchPrefixPatterns 2024-01-26 20:57:38 +00:00
client_test.go sumdb: client and server protocol for checksum database 2019-05-31 18:24:29 +00:00
server.go all: add godoc links 2023-06-21 11:18:17 +00:00
test.go all: add godoc links 2023-06-21 11:18:17 +00:00