Skip to content

Conversation

AskAlexSharov
Copy link
Collaborator

@AskAlexSharov AskAlexSharov commented Oct 10, 2025

benchmarks are unreliable (each next run - degradating):

go test -bench=BenchmarkSyncPeriodDefault/20mb_5sec -run=BenchmarkSyncPeriodDefault -count=10 -benchtime=11s ./db/kv/mdbx
BenchmarkSyncPeriodDefault/20mb_5sec-16         	 1183658	      9712 ns/op	        18.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16         	  525886	     20917 ns/op	        22.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16         	  453195	     25733 ns/op	        17.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16         	  406191	     29645 ns/op	        27.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16         	  375663	     32923 ns/op	        20.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16         	  376173	     32752 ns/op	        22.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16         	  302048	     36522 ns/op	        19.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16         	  300121	     37861 ns/op	        22.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16         	  272125	     42671 ns/op	        20.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16         	  271854	     43863 ns/op	        21.00 ms_worst

current results:

 go test -bench=BenchmarkSyncPeriodDefault -run=BenchmarkSyncPeriodDefault -count=2 -benchtime=11s ./db/kv/mdbx
BenchmarkSyncPeriodDefault/20kb-16         	  108349	    117536 ns/op	         6.000 ms_worst
BenchmarkSyncPeriodDefault/20kb-16         	  110605	    114391 ns/op	         4.000 ms_worst
BenchmarkSyncPeriodDefault/200kb-16        	  836928	     14072 ns/op	         7.000 ms_worst
BenchmarkSyncPeriodDefault/200kb-16        	  466477	     24821 ns/op	         8.000 ms_worst
BenchmarkSyncPeriodDefault/2mb-16          	  487972	     23830 ns/op	        11.00 ms_worst
BenchmarkSyncPeriodDefault/2mb-16          	  481317	     24365 ns/op	        11.00 ms_worst
BenchmarkSyncPeriodDefault/10mb_1sec-16    	  412936	     28944 ns/op	        14.00 ms_worst
BenchmarkSyncPeriodDefault/10mb_1sec-16    	  327390	     33639 ns/op	        14.00 ms_worst
BenchmarkSyncPeriodDefault/10mb_2sec-16    	  292040	     37722 ns/op	        26.00 ms_worst
BenchmarkSyncPeriodDefault/10mb_2sec-16    	  299162	     38627 ns/op	        22.00 ms_worst
BenchmarkSyncPeriodDefault/10mb_5sec-16    	  315163	     35051 ns/op	        15.00 ms_worst
BenchmarkSyncPeriodDefault/10mb_5sec-16    	  309700	     37337 ns/op	        17.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_1sec-16    	  278457	     42049 ns/op	        19.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_1sec-16    	  265393	     44541 ns/op	        21.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_2sec-16    	  255225	     46638 ns/op	        24.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_2sec-16    	  281451	     69881 ns/op	        89.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16    	   79119	    175658 ns/op	        75.00 ms_worst
BenchmarkSyncPeriodDefault/20mb_5sec-16    	   77457	    171663 ns/op	        69.00 ms_worst

@AskAlexSharov AskAlexSharov changed the title Alex/nodedb 33 [wip] Oct 10, 2025
@AskAlexSharov AskAlexSharov changed the title [wip] [wip] bench nodedb sync thresholds Oct 10, 2025
taratorio pushed a commit that referenced this pull request Oct 13, 2025
current benchmarks show that after 5mb speed doesn't grow - but
benchmarks are very unreliable yet (don't know yet why).
form another side - user reported best performance at 20mb. 
So, setting to 5mb for now - until getting more bench-driven evidence. 
```
BenchmarkSyncPeriodDefault/20kb-16         	    1383	   4112960 ns/op	        20.00 ms_worst
BenchmarkSyncPeriodDefault/200kb-16        	    7178	   1106435 ns/op	        15.00 ms_worst
BenchmarkSyncPeriodDefault/1mb-16          	   18532	    328017 ns/op	        14.00 ms_worst
BenchmarkSyncPeriodDefault/2mb-16          	   33478	    193897 ns/op	        12.00 ms_worst
BenchmarkSyncPeriodDefault/5mb-16          	   72160	    100291 ns/op	        13.00 ms_worst
BenchmarkSyncPeriodDefault/10mb-16         	   77170	     99663 ns/op	        12.00 ms_worst
BenchmarkSyncPeriodDefault/20mb-16         	   67716	     97053 ns/op	        15.00 ms_worst
BenchmarkSyncPeriodDefault/40mb-16         	   74607	     97140 ns/op	        13.00 ms_worst
```
for #14182

it also depends on: #17284
(because it fixing bug of wrong `WANNA_RECOVERY` assert - Erigon can't
start without this fix). But unlikely we will port new mdbx to `3.2`
(will see how it work in `main`).

will continue work on benches in
#17405
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