@@ -40,8 +40,17 @@ public void Dispose()
4040 }
4141
4242 [ Fact ]
43+ [ Trait ( "Category" , "Performance" ) ]
4344 public void Benchmark_AllocationStrategies_PerformanceComparison ( )
4445 {
46+ // Skip in CI - GitHub Actions runners have slow I/O and variable performance
47+ if ( Environment . GetEnvironmentVariable ( "CI" ) == "true" ||
48+ Environment . GetEnvironmentVariable ( "GITHUB_ACTIONS" ) == "true" )
49+ {
50+ _output . WriteLine ( "Skipping performance benchmark in CI environment" ) ;
51+ return ;
52+ }
53+
4554 // Arrange
4655 var allocator = new ExtentAllocator ( ) ;
4756
@@ -102,8 +111,17 @@ public void Benchmark_AllocationStrategies_PerformanceComparison()
102111 }
103112
104113 [ Fact ]
114+ [ Trait ( "Category" , "Performance" ) ]
105115 public void Benchmark_CoalescingPerformance_UnderOneSecond ( )
106116 {
117+ // Skip in CI - GitHub Actions runners have variable performance
118+ if ( Environment . GetEnvironmentVariable ( "CI" ) == "true" ||
119+ Environment . GetEnvironmentVariable ( "GITHUB_ACTIONS" ) == "true" )
120+ {
121+ _output . WriteLine ( "Skipping coalescing benchmark in CI environment" ) ;
122+ return ;
123+ }
124+
107125 // Arrange
108126 var allocator = new ExtentAllocator ( ) ;
109127
@@ -132,8 +150,18 @@ public void Benchmark_CoalescingPerformance_UnderOneSecond()
132150 }
133151
134152 [ Fact ]
153+ [ Trait ( "Category" , "Performance" ) ]
135154 public void Benchmark_AllocationComplexity_IsLogarithmic ( )
136155 {
156+ // Skip in CI - GitHub Actions runners have variable performance
157+ // This benchmark tests algorithmic complexity which varies by environment
158+ if ( Environment . GetEnvironmentVariable ( "CI" ) == "true" ||
159+ Environment . GetEnvironmentVariable ( "GITHUB_ACTIONS" ) == "true" )
160+ {
161+ _output . WriteLine ( "Skipping complexity benchmark in CI environment" ) ;
162+ return ;
163+ }
164+
137165 // Test with increasing extent counts
138166 var sizes = new [ ] { 100 , 1000 , 10000 } ;
139167 var times = new double [ sizes . Length ] ;
@@ -179,8 +207,17 @@ public void Benchmark_AllocationComplexity_IsLogarithmic()
179207 }
180208
181209 [ Fact ]
210+ [ Trait ( "Category" , "Performance" ) ]
182211 public void Benchmark_HighFragmentation_StillPerformant ( )
183212 {
213+ // Skip in CI - GitHub Actions runners have variable performance
214+ if ( Environment . GetEnvironmentVariable ( "CI" ) == "true" ||
215+ Environment . GetEnvironmentVariable ( "GITHUB_ACTIONS" ) == "true" )
216+ {
217+ _output . WriteLine ( "Skipping fragmentation benchmark in CI environment" ) ;
218+ return ;
219+ }
220+
184221 // Arrange - Highly fragmented scenario
185222 var allocator = new ExtentAllocator ( ) ;
186223
@@ -216,8 +253,17 @@ public void Benchmark_HighFragmentation_StillPerformant()
216253 }
217254
218255 [ Fact ]
256+ [ Trait ( "Category" , "Performance" ) ]
219257 public void Benchmark_PageAllocation_UnderOneMicrosecond ( )
220258 {
259+ // Skip in CI - GitHub Actions runners have variable performance
260+ if ( Environment . GetEnvironmentVariable ( "CI" ) == "true" ||
261+ Environment . GetEnvironmentVariable ( "GITHUB_ACTIONS" ) == "true" )
262+ {
263+ _output . WriteLine ( "Skipping single allocation benchmark in CI environment" ) ;
264+ return ;
265+ }
266+
221267 // Arrange
222268 var allocator = new ExtentAllocator ( ) ;
223269
0 commit comments