@@ -17,34 +17,26 @@ limitations under the License.
1717// Benchmarks are only meaningful and should only run with optimized builds.
1818// Unoptimized builds have different performance characteristics and would not provide
1919// useful benchmarking data for performance regression testing.
20+ #![ cfg( optimized_build) ]
2021
21- #[ cfg( optimized_build) ]
2222use criterion:: { Criterion , criterion_group, criterion_main} ;
23- #[ cfg( optimized_build) ]
2423use hyperlight_host:: GuestBinary ;
25- #[ cfg( optimized_build) ]
2624use hyperlight_host:: sandbox:: {
2725 Callable , MultiUseSandbox , SandboxConfiguration , UninitializedSandbox ,
2826} ;
29- #[ cfg( optimized_build) ]
3027use hyperlight_host:: sandbox_state:: sandbox:: EvolvableSandbox ;
31- #[ cfg( optimized_build) ]
3228use hyperlight_host:: sandbox_state:: transition:: Noop ;
33- #[ cfg( optimized_build) ]
3429use hyperlight_testing:: simple_guest_as_string;
3530
36- #[ cfg( optimized_build) ]
3731fn create_uninit_sandbox ( ) -> UninitializedSandbox {
3832 let path = simple_guest_as_string ( ) . unwrap ( ) ;
3933 UninitializedSandbox :: new ( GuestBinary :: FilePath ( path) , None ) . unwrap ( )
4034}
4135
42- #[ cfg( optimized_build) ]
4336fn create_multiuse_sandbox ( ) -> MultiUseSandbox {
4437 create_uninit_sandbox ( ) . evolve ( Noop :: default ( ) ) . unwrap ( )
4538}
4639
47- #[ cfg( optimized_build) ]
4840fn guest_call_benchmark ( c : & mut Criterion ) {
4941 let mut group = c. benchmark_group ( "guest_functions" ) ;
5042
@@ -92,7 +84,6 @@ fn guest_call_benchmark(c: &mut Criterion) {
9284 group. finish ( ) ;
9385}
9486
95- #[ cfg( optimized_build) ]
9687fn guest_call_benchmark_large_param ( c : & mut Criterion ) {
9788 let mut group = c. benchmark_group ( "guest_functions_with_large_parameters" ) ;
9889 #[ cfg( target_os = "windows" ) ]
@@ -128,7 +119,6 @@ fn guest_call_benchmark_large_param(c: &mut Criterion) {
128119 group. finish ( ) ;
129120}
130121
131- #[ cfg( optimized_build) ]
132122fn sandbox_benchmark ( c : & mut Criterion ) {
133123 let mut group = c. benchmark_group ( "sandboxes" ) ;
134124
@@ -168,19 +158,10 @@ fn sandbox_benchmark(c: &mut Criterion) {
168158 group. finish ( ) ;
169159}
170160
171- #[ cfg( optimized_build) ]
172161criterion_group ! {
173162 name = benches;
174163 config = Criterion :: default ( ) ;
175164 targets = guest_call_benchmark, sandbox_benchmark, guest_call_benchmark_large_param
176165}
177166
178- #[ cfg( optimized_build) ]
179167criterion_main ! ( benches) ;
180-
181- // For unoptimized builds, provide a minimal main function that explains benchmarks are not available
182- #[ cfg( unoptimized_build) ]
183- fn main ( ) {
184- eprintln ! ( "Benchmarks are only available in optimized builds. Use `cargo bench --release` or `just bench`." ) ;
185- std:: process:: exit ( 1 ) ;
186- }
0 commit comments