88
99use criterion:: { black_box, criterion_group, criterion_main, BenchmarkId , Criterion , Throughput } ;
1010use sixg_common:: types:: UeId ;
11- use sixg_core:: {
12- nssf:: SliceType ,
13- smf:: PduSessionType ,
14- CoreNetwork ,
15- } ;
11+ use sixg_core:: { nssf:: SliceType , smf:: PduSessionType , CoreNetwork } ;
1612
1713/// Benchmark UE registration burst throughput.
1814///
@@ -22,22 +18,18 @@ fn bench_core_register_burst(c: &mut Criterion) {
2218
2319 for & n_ues in & [ 10usize , 50 , 100 , 250 , 500 , 1000 ] {
2420 group. throughput ( Throughput :: Elements ( n_ues as u64 ) ) ;
25- group. bench_with_input (
26- BenchmarkId :: new ( "ues" , n_ues) ,
27- & n_ues,
28- |b, & n| {
29- b. iter ( || {
30- let mut core = CoreNetwork :: new ( ) ;
31- let mut registered = 0usize ;
32- for i in 0 ..n {
33- if core. register_ue ( black_box ( UeId ( i as u64 ) ) , 1 ) {
34- registered += 1 ;
35- }
21+ group. bench_with_input ( BenchmarkId :: new ( "ues" , n_ues) , & n_ues, |b, & n| {
22+ b. iter ( || {
23+ let mut core = CoreNetwork :: new ( ) ;
24+ let mut registered = 0usize ;
25+ for i in 0 ..n {
26+ if core. register_ue ( black_box ( UeId ( i as u64 ) ) , 1 ) {
27+ registered += 1 ;
3628 }
37- black_box ( registered )
38- } )
39- } ,
40- ) ;
29+ }
30+ black_box ( registered )
31+ } )
32+ } ) ;
4133 }
4234 group. finish ( ) ;
4335}
@@ -48,28 +40,24 @@ fn bench_session_establishment(c: &mut Criterion) {
4840
4941 for & n_ues in & [ 10usize , 50 , 100 ] {
5042 group. throughput ( Throughput :: Elements ( n_ues as u64 ) ) ;
51- group. bench_with_input (
52- BenchmarkId :: new ( "ues" , n_ues) ,
53- & n_ues,
54- |b, & n| {
55- b. iter ( || {
56- let mut core = CoreNetwork :: new ( ) ;
57- let mut sessions = 0usize ;
58- for i in 0 ..n {
59- let ue = UeId ( i as u64 ) ;
60- if core. register_ue ( ue, 1 ) {
61- if core
62- . establish_session ( ue, SliceType :: EmBb , PduSessionType :: Ip )
63- . is_some ( )
64- {
65- sessions += 1 ;
66- }
43+ group. bench_with_input ( BenchmarkId :: new ( "ues" , n_ues) , & n_ues, |b, & n| {
44+ b. iter ( || {
45+ let mut core = CoreNetwork :: new ( ) ;
46+ let mut sessions = 0usize ;
47+ for i in 0 ..n {
48+ let ue = UeId ( i as u64 ) ;
49+ if core. register_ue ( ue, 1 ) {
50+ if core
51+ . establish_session ( ue, SliceType :: EmBb , PduSessionType :: Ip )
52+ . is_some ( )
53+ {
54+ sessions += 1 ;
6755 }
6856 }
69- black_box ( sessions )
70- } )
71- } ,
72- ) ;
57+ }
58+ black_box ( sessions )
59+ } )
60+ } ) ;
7361 }
7462 group. finish ( ) ;
7563}
0 commit comments