@@ -339,9 +339,51 @@ func BenchmarkTrie_Put(b *testing.B) {
339
339
340
340
preparedExtTrie := mpt .NewTrie (node .NewExtensionNode (nil , nil ))
341
341
preparedExtTrie .Put (key , val )
342
- b .Run ("ToPreparedBranchNodeEmptyTrie " , func (b * testing.B ) {
342
+ b .Run ("ToPreparedExtensionNodeEmptyTrie " , func (b * testing.B ) {
343
343
for i := 0 ; i < b .N ; i ++ {
344
344
preparedExtTrie .Put (key , val )
345
345
}
346
346
})
347
347
}
348
+
349
+ func BenchmarkTrie_Update (b * testing.B ) {
350
+ key , val := []byte ("tolongwseb;kjnwkjlevnoknbkomnrwobnwotrh34y6onyo" ), []byte ("lwebniopwjgnipwuhgpv wrhtpovm rhiopwerhgpowuihnopwrntgmopkrtmvport uiwthgipurthg puti" )
351
+
352
+ fullTrie := mpt .NewTrie (nil )
353
+ for j := 0 ; j < 100000 ; j ++ {
354
+ tokenKey , tokenValue := make ([]byte , 56 ), make ([]byte , 556 )
355
+ rand .Read (tokenKey )
356
+ rand .Read (tokenValue )
357
+ fullTrie .Put (tokenKey , tokenValue )
358
+ }
359
+ fullTrie .Put (key , val )
360
+ b .Run ("FullTrie100000" , func (b * testing.B ) {
361
+ for i := 0 ; i < b .N ; i ++ {
362
+ fullTrie .Update (key , val )
363
+ }
364
+ })
365
+
366
+ emptyTrie := mpt .NewTrie (nil )
367
+ emptyTrie .Put (key , val )
368
+ b .Run ("EmptyTrie" , func (b * testing.B ) {
369
+ for i := 0 ; i < b .N ; i ++ {
370
+ emptyTrie .Update (key , val )
371
+ }
372
+ })
373
+
374
+ preparedBranchTrie := mpt .NewTrie (node .NewBranchNode ())
375
+ preparedBranchTrie .Put (key , val )
376
+ b .Run ("PreparedBranchNodeEmptyTrie" , func (b * testing.B ) {
377
+ for i := 0 ; i < b .N ; i ++ {
378
+ preparedBranchTrie .Update (key , val )
379
+ }
380
+ })
381
+
382
+ preparedExtTrie := mpt .NewTrie (node .NewExtensionNode (nil , nil ))
383
+ preparedExtTrie .Put (key , val )
384
+ b .Run ("PreparedExtensionNodeEmptyTrie" , func (b * testing.B ) {
385
+ for i := 0 ; i < b .N ; i ++ {
386
+ preparedExtTrie .Update (key , val )
387
+ }
388
+ })
389
+ }
0 commit comments