e
Diffstat (limited to 'benches/iai.rs')
-rwxr-xr-xbenches/iai.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/benches/iai.rs b/benches/iai.rs
new file mode 100755
index 0000000..d28f6bc
--- /dev/null
+++ b/benches/iai.rs
@@ -0,0 +1,25 @@
+use imgref::{Img, ImgRefMut};
+
+const WIDTH: usize = 640;
+const HEIGHT: usize = 480;
+
+static mut BUFFER: [u32; WIDTH * HEIGHT] = [0; WIDTH * HEIGHT];
+
+#[inline(always)]
+fn img() -> ImgRefMut<'static, u32> {
+ Img::new(unsafe { &mut BUFFER[..] }, WIDTH, HEIGHT)
+}
+
+fn blur_argb_16() {
+ slur::blur_argb(&mut img(), 16)
+}
+fn blur_argb_128() {
+ slur::blur_argb(&mut img(), 128)
+}
+fn blur_argb_1024() {
+ slur::blur_argb(&mut img(), 1024)
+}
+
+// parallel versions are non-deterministic
+
+iai::main!(blur_argb_16, blur_argb_128, blur_argb_1024,);