Skip to content

Commit 2a4a0de

Browse files
committed
Add benchmarks for .assign_scalar(&0.)
Should be memset but is not in current rust nightly.
1 parent 204df7c commit 2a4a0de

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

benches/bench1.rs

+25-8
Original file line numberDiff line numberDiff line change
@@ -373,12 +373,12 @@ fn muladd_2d_f32_blas(bench: &mut test::Bencher)
373373
}
374374

375375
#[bench]
376-
fn assign_scalar_2d_large(bench: &mut test::Bencher)
376+
fn assign_scalar_2d_corder(bench: &mut test::Bencher)
377377
{
378378
let a = OwnedArray::zeros((64, 64));
379379
let mut a = black_box(a);
380380
let s = 3.;
381-
bench.iter(|| a.assign_scalar(&s))
381+
bench.iter(move || a.assign_scalar(&s))
382382
}
383383

384384
#[bench]
@@ -388,26 +388,43 @@ fn assign_scalar_2d_cutout(bench: &mut test::Bencher)
388388
let a = a.slice_mut(s![1..-1, 1..-1]);
389389
let mut a = black_box(a);
390390
let s = 3.;
391-
bench.iter(|| a.assign_scalar(&s))
391+
bench.iter(move || a.assign_scalar(&s))
392392
}
393393

394394
#[bench]
395-
fn assign_scalar_2d_transposed_large(bench: &mut test::Bencher)
395+
fn assign_scalar_2d_forder(bench: &mut test::Bencher)
396396
{
397397
let mut a = OwnedArray::zeros((64, 64));
398398
a.swap_axes(0, 1);
399399
let mut a = black_box(a);
400400
let s = 3.;
401-
bench.iter(|| a.assign_scalar(&s))
401+
bench.iter(move || a.assign_scalar(&s))
402402
}
403403

404404
#[bench]
405-
fn assign_scalar_2d_raw_large(bench: &mut test::Bencher)
405+
fn assign_zero_2d_corder(bench: &mut test::Bencher)
406406
{
407407
let a = OwnedArray::zeros((64, 64));
408408
let mut a = black_box(a);
409-
let s = 3.;
410-
bench.iter(|| for elt in a.raw_data_mut() { *elt = s; });
409+
bench.iter(|| a.assign_scalar(&0.))
410+
}
411+
412+
#[bench]
413+
fn assign_zero_2d_cutout(bench: &mut test::Bencher)
414+
{
415+
let mut a = OwnedArray::zeros((66, 66));
416+
let a = a.slice_mut(s![1..-1, 1..-1]);
417+
let mut a = black_box(a);
418+
bench.iter(|| a.assign_scalar(&0.))
419+
}
420+
421+
#[bench]
422+
fn assign_zero_2d_forder(bench: &mut test::Bencher)
423+
{
424+
let mut a = OwnedArray::zeros((64, 64));
425+
a.swap_axes(0, 1);
426+
let mut a = black_box(a);
427+
bench.iter(|| a.assign_scalar(&0.))
411428
}
412429

413430
#[bench]

0 commit comments

Comments
 (0)