[librsvg: 13/14] benches: port pixel iterator bench to ExclusiveImageSurface
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 13/14] benches: port pixel iterator bench to ExclusiveImageSurface
- Date: Wed, 15 Jan 2020 00:33:15 +0000 (UTC)
commit f9073986e8fc818e83519e7db735eaccd50cc0a6
Author: Paolo Borelli <pborelli gnome org>
Date: Tue Jan 14 22:11:07 2020 +0100
benches: port pixel iterator bench to ExclusiveImageSurface
rsvg_internals/benches/pixel_iterators.rs | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
---
diff --git a/rsvg_internals/benches/pixel_iterators.rs b/rsvg_internals/benches/pixel_iterators.rs
index 7c6be70a..a837f6e7 100644
--- a/rsvg_internals/benches/pixel_iterators.rs
+++ b/rsvg_internals/benches/pixel_iterators.rs
@@ -5,7 +5,7 @@ use criterion::{black_box, Criterion};
use rsvg_internals::rect::IRect;
use rsvg_internals::surface_utils::{
iterators::Pixels,
- shared_surface::{SharedImageSurface, SurfaceType},
+ shared_surface::{ExclusiveImageSurface, SharedImageSurface, SurfaceType},
};
const SURFACE_SIDE: i32 = 512;
@@ -19,9 +19,9 @@ const BOUNDS: IRect = IRect {
fn bench_pixel_iterators(c: &mut Criterion) {
c.bench_function("pixel_iterators straightforward", |b| {
let mut surface =
- cairo::ImageSurface::create(cairo::Format::ARgb32, SURFACE_SIDE, SURFACE_SIDE).unwrap();
- let stride = surface.get_stride();
- let data = surface.get_data().unwrap();
+ ExclusiveImageSurface::new(SURFACE_SIDE, SURFACE_SIDE, SurfaceType::SRgb).unwrap();
+ let stride = surface.stride() as i32;
+ let data = surface.get_data();
let bounds = black_box(BOUNDS);
@@ -48,8 +48,7 @@ fn bench_pixel_iterators(c: &mut Criterion) {
c.bench_function("pixel_iterators get_pixel", |b| {
let surface =
- cairo::ImageSurface::create(cairo::Format::ARgb32, SURFACE_SIDE, SURFACE_SIDE).unwrap();
- let surface = SharedImageSurface::wrap(surface, SurfaceType::SRgb).unwrap();
+ SharedImageSurface::empty(SURFACE_SIDE, SURFACE_SIDE, SurfaceType::SRgb).unwrap();
let bounds = black_box(BOUNDS);
@@ -76,8 +75,7 @@ fn bench_pixel_iterators(c: &mut Criterion) {
c.bench_function("pixel_iterators pixels", |b| {
let surface =
- cairo::ImageSurface::create(cairo::Format::ARgb32, SURFACE_SIDE, SURFACE_SIDE).unwrap();
- let data = SharedImageSurface::wrap(surface, SurfaceType::SRgb).unwrap();
+ SharedImageSurface::empty(SURFACE_SIDE, SURFACE_SIDE, SurfaceType::SRgb).unwrap();
let bounds = black_box(BOUNDS);
@@ -87,7 +85,7 @@ fn bench_pixel_iterators(c: &mut Criterion) {
let mut b = 0usize;
let mut a = 0usize;
- for (_x, _y, pixel) in Pixels::within(&data, bounds) {
+ for (_x, _y, pixel) in Pixels::within(&surface, bounds) {
r += pixel.r as usize;
g += pixel.g as usize;
b += pixel.b as usize;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]