mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-02-26 07:37:20 +00:00
eth: using testing.B.Loop (#32657)
before: go test -run=^$ -bench=. ./eth/... 827.57s user 23.80s system 361% cpu 3:55.49 total after: go test -run=^$ -bench=. ./eth/... 281.62s user 13.62s system 245% cpu 2:00.49 total
This commit is contained in:
parent
d41dc92da9
commit
3ebb1431d3
5 changed files with 6 additions and 13 deletions
|
|
@ -109,11 +109,8 @@ func benchmarkFilters(b *testing.B, history uint64, noHistory bool) {
|
||||||
backend.startFilterMaps(history, noHistory, filtermaps.DefaultParams)
|
backend.startFilterMaps(history, noHistory, filtermaps.DefaultParams)
|
||||||
defer backend.stopFilterMaps()
|
defer backend.stopFilterMaps()
|
||||||
|
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
filter := sys.NewRangeFilter(0, int64(rpc.LatestBlockNumber), []common.Address{addr1, addr2, addr3, addr4}, nil)
|
filter := sys.NewRangeFilter(0, int64(rpc.LatestBlockNumber), []common.Address{addr1, addr2, addr3, addr4}, nil)
|
||||||
|
for b.Loop() {
|
||||||
for i := 0; i < b.N; i++ {
|
|
||||||
filter.begin = 0
|
filter.begin = 0
|
||||||
logs, _ := filter.Logs(context.Background())
|
logs, _ := filter.Logs(context.Background())
|
||||||
if len(logs) != 4 {
|
if len(logs) != 4 {
|
||||||
|
|
|
||||||
|
|
@ -106,13 +106,13 @@ func BenchmarkHashing(b *testing.B) {
|
||||||
}
|
}
|
||||||
b.Run("old", func(b *testing.B) {
|
b.Run("old", func(b *testing.B) {
|
||||||
b.ReportAllocs()
|
b.ReportAllocs()
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
old()
|
old()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
b.Run("new", func(b *testing.B) {
|
b.Run("new", func(b *testing.B) {
|
||||||
b.ReportAllocs()
|
b.ReportAllocs()
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
new()
|
new()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -211,11 +211,9 @@ func benchTracer(tracerName string, test *callTracerTest, b *testing.B) {
|
||||||
defer state.Close()
|
defer state.Close()
|
||||||
|
|
||||||
b.ReportAllocs()
|
b.ReportAllocs()
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
evm := vm.NewEVM(context, state.StateDB, test.Genesis.Config, vm.Config{})
|
evm := vm.NewEVM(context, state.StateDB, test.Genesis.Config, vm.Config{})
|
||||||
|
for b.Loop() {
|
||||||
for i := 0; i < b.N; i++ {
|
|
||||||
snap := state.StateDB.Snapshot()
|
snap := state.StateDB.Snapshot()
|
||||||
tracer, err := tracers.DefaultDirectory.New(tracerName, new(tracers.Context), nil, test.Genesis.Config)
|
tracer, err := tracers.DefaultDirectory.New(tracerName, new(tracers.Context), nil, test.Genesis.Config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -201,7 +201,7 @@ func BenchmarkFlatCallTracer(b *testing.B) {
|
||||||
for _, file := range files {
|
for _, file := range files {
|
||||||
filename := strings.TrimPrefix(file, "testdata/call_tracer_flat/")
|
filename := strings.TrimPrefix(file, "testdata/call_tracer_flat/")
|
||||||
b.Run(camel(strings.TrimSuffix(filename, ".json")), func(b *testing.B) {
|
b.Run(camel(strings.TrimSuffix(filename, ".json")), func(b *testing.B) {
|
||||||
for n := 0; n < b.N; n++ {
|
for b.Loop() {
|
||||||
err := flatCallTracerTestRunner("flatCallTracer", filename, "call_tracer_flat", b)
|
err := flatCallTracerTestRunner("flatCallTracer", filename, "call_tracer_flat", b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
|
|
|
||||||
|
|
@ -84,10 +84,8 @@ func BenchmarkTransactionTraceV2(b *testing.B) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("failed to prepare transaction for tracing: %v", err)
|
b.Fatalf("failed to prepare transaction for tracing: %v", err)
|
||||||
}
|
}
|
||||||
b.ResetTimer()
|
|
||||||
b.ReportAllocs()
|
b.ReportAllocs()
|
||||||
|
for b.Loop() {
|
||||||
for i := 0; i < b.N; i++ {
|
|
||||||
tracer := logger.NewStructLogger(&logger.Config{}).Hooks()
|
tracer := logger.NewStructLogger(&logger.Config{}).Hooks()
|
||||||
tracer.OnTxStart(evm.GetVMContext(), tx, msg.From)
|
tracer.OnTxStart(evm.GetVMContext(), tx, msg.From)
|
||||||
evm.Config.Tracer = tracer
|
evm.Config.Tracer = tracer
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue