@@ -10,6 +10,7 @@ namespace System.Memory.Tests
1010 public class Perf_Span_BinarySearch
1111 {
1212 private const int InnerCount = 100000 ;
13+ private const string NumberFormat = "D9" ;
1314
1415 [ Benchmark ( InnerIterationCount = InnerCount ) ]
1516 [ InlineData ( 1 ) ]
@@ -69,7 +70,7 @@ public void SpanBinarySearch_Int_NotFoundAfter(int size)
6970 [ InlineData ( 1000 ) ]
7071 public void SpanBinarySearch_String_FirstIndex ( int size )
7172 {
72- BenchmarkAndAssert ( size , 0 . ToString ( ) , 0 ) ;
73+ BenchmarkAndAssert ( size , 0 . ToString ( NumberFormat ) , 0 ) ;
7374 }
7475
7576 [ Benchmark ( InnerIterationCount = InnerCount ) ]
@@ -79,7 +80,7 @@ public void SpanBinarySearch_String_FirstIndex(int size)
7980 [ InlineData ( 1000 ) ]
8081 public void SpanBinarySearch_String_MiddleIndex ( int size )
8182 {
82- BenchmarkAndAssert ( size , ( size / 2 ) . ToString ( ) , size / 2 ) ;
83+ BenchmarkAndAssert ( size , ( size / 2 ) . ToString ( NumberFormat ) , size / 2 ) ;
8384 }
8485
8586 [ Benchmark ( InnerIterationCount = InnerCount ) ]
@@ -89,7 +90,7 @@ public void SpanBinarySearch_String_MiddleIndex(int size)
8990 [ InlineData ( 1000 ) ]
9091 public void SpanBinarySearch_String_LastIndex ( int size )
9192 {
92- BenchmarkAndAssert ( size , ( size - 1 ) . ToString ( ) , size - 1 ) ;
93+ BenchmarkAndAssert ( size , ( size - 1 ) . ToString ( NumberFormat ) , size - 1 ) ;
9394 }
9495
9596 [ Benchmark ( InnerIterationCount = InnerCount ) ]
@@ -99,7 +100,8 @@ public void SpanBinarySearch_String_LastIndex(int size)
99100 [ InlineData ( 1000 ) ]
100101 public void SpanBinarySearch_String_NotFoundBefore ( int size )
101102 {
102- BenchmarkAndAssert ( size , ( - 1 ) . ToString ( ) , - 1 ) ;
103+ // "/" is just before zero in character table
104+ BenchmarkAndAssert ( size , "/" , - 1 ) ;
103105 }
104106
105107 [ Benchmark ( InnerIterationCount = InnerCount ) ]
@@ -109,7 +111,7 @@ public void SpanBinarySearch_String_NotFoundBefore(int size)
109111 [ InlineData ( 1000 ) ]
110112 public void SpanBinarySearch_String_NotFoundAfter ( int size )
111113 {
112- BenchmarkAndAssert ( size , ( size ) . ToString ( ) , ~ size ) ;
114+ BenchmarkAndAssert ( size , ( size ) . ToString ( NumberFormat ) , ~ size ) ;
113115 }
114116
115117 private static void BenchmarkAndAssert ( int size , int value , int expectedIndex )
@@ -139,7 +141,7 @@ private static void BenchmarkAndAssert(int size, string value, int expectedIndex
139141 Span < string > span = new string [ size ] ;
140142 for ( int i = 0 ; i < span . Length ; i ++ )
141143 {
142- span [ i ] = i . ToString ( ) ;
144+ span [ i ] = i . ToString ( NumberFormat ) ;
143145 }
144146
145147 int index = 0 ;
0 commit comments