From c80133148b8f3d759009c49ade1ac1bca19a04d5 Mon Sep 17 00:00:00 2001 From: txaty Date: Thu, 23 Nov 2023 22:41:39 +0800 Subject: [PATCH] Fix proofgen performance issue. Signed-off-by: txaty --- Makefile | 2 +- proof_gen.go | 50 ++++++++++----------------- proof_gen_test.go | 86 ++++++----------------------------------------- 3 files changed, 30 insertions(+), 108 deletions(-) diff --git a/Makefile b/Makefile index 03a62d7..ba2d1c5 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ test test_race test_with_mock: go test -v $(COVER_OPTS) -coverprofile=$(COVER_OUT) && go tool cover -html=$(COVER_OUT) -o $(COVER_HTML) && go tool cover -func=$(COVER_OUT) -o $(COVER_OUT) test_fuzz: - go test -v -race -fuzz=FuzzMerkleTreeNew -fuzztime=30m -run ^FuzzMerkleTreeNew$ + go test -v -race -fuzz=FuzzMerkleTreeNew -fuzztime=60m -run ^FuzzMerkleTreeNew$ test_ci_coverage: go test -race -gcflags=all=-l -coverprofile=coverage.txt -covermode=atomic diff --git a/proof_gen.go b/proof_gen.go index df057aa..1189b6c 100644 --- a/proof_gen.go +++ b/proof_gen.go @@ -38,7 +38,7 @@ func (m *MerkleTree) generateProofs() (err error) { buffer, bufferSize := initBuffer(m.Leaves) for step := 0; step < m.Depth; step++ { bufferSize = fixOddNumOfNodes(buffer, bufferSize, step) - updateProofs(m.Proofs, buffer, bufferSize, step) + m.updateProofs(buffer, bufferSize, step) for idx := 0; idx < bufferSize; idx += 2 { leftIdx := idx << step rightIdx := min(leftIdx+(1<