@@ -10,7 +10,6 @@ fn search_short_haystack(c: &mut Criterion) {
1010 let mut needles = BufReader :: new ( File :: open ( "data/words.txt" ) . unwrap ( ) )
1111 . lines ( )
1212 . map ( Result :: unwrap)
13- . filter ( |needle| needle. len ( ) > 1 )
1413 . collect :: < Vec < _ > > ( ) ;
1514 needles. sort_unstable_by_key ( |needle| needle. len ( ) ) ;
1615 let needles = needles. iter ( ) . map ( String :: as_str) . collect :: < Vec < _ > > ( ) ;
@@ -64,62 +63,11 @@ fn search_short_haystack(c: &mut Criterion) {
6463 } ) ;
6564 } ) ;
6665
67- group. bench_function ( "strstr_avx2_rust_simple " , |b| {
66+ group. bench_function ( "strstr_avx2_rust " , |b| {
6867 b. iter ( || {
6968 for ( i, needle) in needles. iter ( ) . enumerate ( ) {
7069 for haystack in & needles[ i..] {
71- black_box ( unsafe {
72- strstr_avx2_rust_simple ( haystack. as_bytes ( ) , needle. as_bytes ( ) )
73- } ) ;
74- }
75- }
76- } ) ;
77- } ) ;
78-
79- group. bench_function ( "strstr_avx2_rust_simple_2" , |b| {
80- b. iter ( || {
81- for ( i, needle) in needles. iter ( ) . enumerate ( ) {
82- for haystack in & needles[ i..] {
83- black_box ( unsafe {
84- strstr_avx2_rust_simple_2 ( haystack. as_bytes ( ) , needle. as_bytes ( ) )
85- } ) ;
86- }
87- }
88- } ) ;
89- } ) ;
90-
91- group. bench_function ( "strstr_avx2_rust_fast" , |b| {
92- b. iter ( || {
93- for ( i, needle) in needles. iter ( ) . enumerate ( ) {
94- for haystack in & needles[ i..] {
95- black_box ( unsafe {
96- strstr_avx2_rust_fast ( haystack. as_bytes ( ) , needle. as_bytes ( ) )
97- } ) ;
98- }
99- }
100- } ) ;
101- } ) ;
102-
103- group. bench_function ( "strstr_avx2_rust_fast_2" , |b| {
104- b. iter ( || {
105- for ( i, needle) in needles. iter ( ) . enumerate ( ) {
106- for haystack in & needles[ i..] {
107- black_box ( strstr_avx2_rust_fast_2 (
108- haystack. as_bytes ( ) ,
109- needle. as_bytes ( ) ,
110- ) ) ;
111- }
112- }
113- } ) ;
114- } ) ;
115-
116- group. bench_function ( "strstr_avx2_rust_aligned" , |b| {
117- b. iter ( || {
118- for ( i, needle) in needles. iter ( ) . enumerate ( ) {
119- for haystack in & needles[ i..] {
120- black_box ( unsafe {
121- strstr_avx2_rust_aligned ( haystack. as_bytes ( ) , needle. as_bytes ( ) )
122- } ) ;
70+ black_box ( strstr_avx2_rust ( haystack. as_bytes ( ) , needle. as_bytes ( ) ) ) ;
12371 }
12472 }
12573 } ) ;
@@ -167,7 +115,6 @@ fn search_long_haystack(c: &mut Criterion) {
167115 let needles = BufReader :: new ( File :: open ( "data/words.txt" ) . unwrap ( ) )
168116 . lines ( )
169117 . map ( Result :: unwrap)
170- . filter ( |needle| needle. len ( ) > 1 )
171118 . collect :: < Vec < _ > > ( ) ;
172119
173120 let mut group = c. benchmark_group ( "long_haystack" ) ;
@@ -209,51 +156,10 @@ fn search_long_haystack(c: &mut Criterion) {
209156 } ) ;
210157 } ) ;
211158
212- group. bench_function ( "strstr_avx2_rust_simple" , |b| {
213- b. iter ( || {
214- for needle in & needles {
215- black_box ( unsafe {
216- strstr_avx2_rust_simple ( haystack. as_bytes ( ) , needle. as_bytes ( ) )
217- } ) ;
218- }
219- } ) ;
220- } ) ;
221-
222- group. bench_function ( "strstr_avx2_rust_simple_2" , |b| {
223- b. iter ( || {
224- for needle in & needles {
225- black_box ( unsafe {
226- strstr_avx2_rust_simple_2 ( haystack. as_bytes ( ) , needle. as_bytes ( ) )
227- } ) ;
228- }
229- } ) ;
230- } ) ;
231-
232- group. bench_function ( "strstr_avx2_rust_fast" , |b| {
233- b. iter ( || {
234- for needle in & needles {
235- black_box ( unsafe { strstr_avx2_rust_fast ( haystack. as_bytes ( ) , needle. as_bytes ( ) ) } ) ;
236- }
237- } ) ;
238- } ) ;
239-
240- group. bench_function ( "strstr_avx2_rust_fast_2" , |b| {
241- b. iter ( || {
242- for needle in & needles {
243- black_box ( strstr_avx2_rust_fast_2 (
244- haystack. as_bytes ( ) ,
245- needle. as_bytes ( ) ,
246- ) ) ;
247- }
248- } ) ;
249- } ) ;
250-
251- group. bench_function ( "strstr_avx2_rust_aligned" , |b| {
159+ group. bench_function ( "strstr_avx2_rust" , |b| {
252160 b. iter ( || {
253161 for needle in & needles {
254- black_box ( unsafe {
255- strstr_avx2_rust_aligned ( haystack. as_bytes ( ) , needle. as_bytes ( ) )
256- } ) ;
162+ black_box ( strstr_avx2_rust ( haystack. as_bytes ( ) , needle. as_bytes ( ) ) ) ;
257163 }
258164 } ) ;
259165 } ) ;
0 commit comments