File tree 3 files changed +20
-3
lines changed
3 files changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -56,3 +56,19 @@ pub fn memory_manager_overhead() -> BenchResult {
56
56
}
57
57
} )
58
58
}
59
+
60
+ /// Benchmarks the `MemoryManager`'s `grow` method.
61
+ #[ ic_cdk_macros:: query]
62
+ pub fn memory_manager_grow ( ) -> BenchResult {
63
+ let mem_mgr = MemoryManager :: init_with_bucket_size ( DefaultMemoryImpl :: default ( ) , 1 ) ;
64
+
65
+ let buckets_per_memory = 32000 ;
66
+
67
+ let memory = mem_mgr. get ( MemoryId :: new ( 0 ) ) ;
68
+
69
+ crate :: benchmark ( || {
70
+ for _ in 0 ..buckets_per_memory {
71
+ memory. grow ( 1 ) ;
72
+ }
73
+ } )
74
+ }
Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ lazy_static::lazy_static! {
22
22
// MemoryManager benchmarks
23
23
"memory_manager_baseline" ,
24
24
"memory_manager_overhead" ,
25
+ "memory_manager_grow" ,
25
26
26
27
// BTree benchmarks
27
28
"btreemap_insert_10mib_values" ,
Original file line number Diff line number Diff line change @@ -382,10 +382,10 @@ memory_manager_baseline:
382
382
measurements :
383
383
instructions : 1144
384
384
stable_memory_size : 8000
385
- memory_manager_buckets_allocation :
385
+ memory_manager_grow :
386
386
measurements :
387
- instructions : 9043414
388
- stable_memory_size : 128001
387
+ instructions : 287018881
388
+ stable_memory_size : 32001
389
389
memory_manager_overhead :
390
390
measurements :
391
391
instructions : 4605248
You can’t perform that action at this time.
0 commit comments