75 Commits
Author SHA1 Message Date
Kirill Kuzminykh dbb51f6945 Added support for multi-thread for resizing images with ResizeAlg::Nearest algorithm (#54). 2025-09-02 22:27:11 +03:00
Kirill Kuzminykh f0d54cb009 Fixed a "divide by zero" error in case of using multithreading to resize images with particular sizes (#55). 2025-08-29 22:33:03 +03:00
Kirill Kuzminykh 89d85758e2 Updated introduction for benchmark results. 2025-05-16 09:54:32 +03:00
Kirill Kuzminykh babe8c4c55 Replaced the internal crate testing on the corresponding module in the tests directory (#48). 2025-04-07 00:41:22 +03:00
Kirill Kuzminykh e1dacd0734 Prepare to release. 2024-10-03 20:47:34 +03:00
Kirill Kuzminykh 75450229c4 Added support for multi-thread image processing with the help of rayon crate. 2024-10-03 20:24:00 +03:00
Kirill Kuzminykh 3300f08eed - Updated f32 benchmarks for wasm32 arch. 2024-07-13 22:52:51 +03:00
Kirill Kuzminykh c84efe0e57 Updated benchmark results for wasm32 arch. 2024-07-06 20:13:38 +03:00
Kirill Kuzminykh 57c547c15f Added placeholders for F32 based pixel types into benchmarks for arm64 and wasm32 archs. 2024-07-06 11:49:24 +03:00
Kirill Kuzminykh 564a28ac9d Updated benchmark results for x86_64 arch. 2024-07-05 23:05:00 +03:00
Kirill Kuzminykh f1bf0bb51a Added support for optimization with help of SSE4.1 and AVX2 to multiple and divide by alpha channel for the F32x4 pixel type (#30). 2024-07-01 23:43:59 +03:00
Kirill Kuzminykh 84d6c17b98 Added support for optimization with help of SSE4.1 and AVX2 for the F32x4 pixel type (#30). 2024-06-23 21:57:54 +03:00
Kirill Kuzminykh 15fa98863b Added support for optimization with help of SSE4.1 and AVX2 for the F32 pixel type. 2024-06-19 00:49:57 +03:00
Kirill Kuzminykh 5e450afe04 Added basic support for the new pixel type PixelType::F32x4 (#30). 2024-06-18 23:20:13 +03:00
Kirill Kuzminykh 91c28d4539 Added basic support for the new pixel type PixelType::F32x3 (#30). 2024-06-18 02:10:49 +03:00
Kirill Kuzminykh ad2610b91e Added support for the new pixel type PixelType::F32x2 with optimizations for SSE4.1 and AVX2 (#30). 2024-06-18 01:16:32 +03:00
Kirill Kuzminykh bd5a82ab4b Updated benchmark results. 2024-05-05 16:47:16 +03:00
Kirill Kuzminykh 2bc54792f2 - Added Gaussian filter for convolution algorithm.
- Added field `algorithm` into `ResizeOptions`.
- Argument `resize_alg` was removed from `Resizer::new()` method, use `options` argument of methods to resize instead.
2024-05-02 21:41:41 +03:00
Kirill Kuzminykh d31c9b7a49 Updated results of Aarch64 benchmarks. 2024-04-19 08:15:00 +03:00
Kirill Kuzminykh 4651d524bd Updated environment parameters for benchmarks reports. 2024-04-19 01:02:52 +03:00
Kirill Kuzminykh d90d235fb2 A lot of changes to replace ImageView and ImageViewMut structures on traits with the same names. 2024-04-10 23:38:46 +03:00
Kirill Kuzminykh c9167d61a4 Fixed mistakes in texts. 2024-02-05 22:55:02 +03:00
Kirill Kuzminykh 25ea0da382 Disabled using libvips under Windows. 2024-02-05 00:14:56 +03:00
Kirill Kuzminykh ff5b72c239 - Fixed code to write benchmark results for Wasm32.
- Updated results of benchmarks for Wasm32 architecture.
2024-01-08 22:27:23 +03:00
Kirill Kuzminykh b963d61d2d Updated results of benchmarks for x64_86 architecture. 2023-12-30 14:54:24 +03:00
Kirill Kuzminykh c195c4ff43 - Significantly improved (4.5 times on x86_64) speed of vertical convolution pass implemented
in native Rust for `U8`, `U8x2`, `U8x3` and `U8x4` images.
- Changed order of convolution passes for `U8`, `U8x2`, `U8x3` and `U8x4` images.
  Now the vertical pass is the first and the horizontal pass is the second.
- **BREAKING**: Changed internal data type for `U8x4` structure. Not it is `[u8; 4]` instead of `u32`.
2023-12-14 22:45:26 +03:00
Kirill Kuzminykh 63369009ec Updated results of benchmarks for x64_86 architecture. 2023-12-06 08:54:33 +03:00
Kirill Kuzminykh 63f6b517ab Added feature only_u8x4 that can be used to experiment with the crate's code. 2023-12-05 21:55:45 +03:00
Kirill Kuzminykh cd7832850d Updated results of benchmarks for wasm32 architecture. 2023-11-29 21:56:04 +03:00
Kirill Kuzminykh 95dd9bc59b - Updated results of benchmarks for x64_86 architecture.
- Fixed several errors in the documentation.
2023-11-23 21:11:47 +03:00
Kirill Kuzminykh 2ad679e044 - Added benchmarks for libvips.
- Added Tera templates to build benchmark reports.
2023-11-11 14:50:09 +03:00
Kirill Kuzminykh 15e509be37 Updated benchmark results for x86_64 and arm64. 2023-04-28 00:20:09 +03:00
Kirill Kuzminykh 0a47adc013 Revert few changes 2023-02-28 00:16:35 +03:00
Kirill Kuzminykh 1dd629eb81 Revert few changes 2023-02-28 00:16:07 +03:00
Kirill Kuzminykh 76a87bc305 - CpuExtension::Wasm32 renamed into CpuExtension::Simd128.
- Optimized MulDiv implementation for Wasm32 SIMD128.
2023-01-29 00:43:25 +04:00
Kirill Kuzminykh 64f59565d5 Changed comments in .md files on version that supports by GitHub 2023-01-22 00:21:12 +04:00
Kirill Kuzminykh 9df6cde213 Changed comments in .md files on version that supports by GitHub 2023-01-22 00:07:11 +04:00
Kirill Kuzminykh 661777b0b4 - Benchmark framework glassbench replaced by criterion.
- Added report with results of benchmarks for `wasm32-wasi` target.
2023-01-21 22:06:51 +04:00
Kirill Kuzminykh f5c7c7937c Added implementation From trait to convert DynamicImageViewMut into DynamicImageView. 2022-12-11 19:09:19 +04:00
Kirill Kuzminykh a706ebb68c Improved speed of MulDiv implementation for U8x4 images. 2022-11-30 20:56:09 +04:00
Kirill Kuzminykh 9320b4b1c4 Added support of optimisation with helps of NEON SIMD for convolution of U8x2 images. 2022-11-12 22:49:24 +04:00
Kirill Kuzminykh e1afd34c9c Added optimisation for processing U8x2 images by MulDiv with helps of NEON SIMD instructions. 2022-11-11 23:11:38 +04:00
Kirill Kuzminykh d65ddab704 Added support of optimisation with helps of NEON SIMD for convolution of U16x4 images. 2022-11-02 23:43:22 +04:00
Kirill Kuzminykh 7b5a1238ca Static variables SRGB_MAPPER and GAMMA22_MAPPER replaced by functions to create these mappers. 2022-10-28 20:59:41 +04:00
Kirill Kuzminykh ff2837d704 - Added support of optimisation with help of NEON SIMD for convolution of U8x4 images.
- Added optimisation for processing `U8x4` images by `MulDiv` with helps of `NEON SIMD` instructions.
2022-10-19 00:25:14 +04:00
Kirill Kuzminykh 29f9f1f508 Added full support of optimisation with help of SSE4.1 for convolution of U8x3 images. 2022-10-09 14:41:39 +04:00
Kirill Kuzminykh e3b64bf7b1 - Trait Pixel renamed into PixelExt and changed.
- All pixel types (`U8`, `U8x2`, ...) replaced by type aliases for new generic structure `Pixel`. Use method `new()` to create instance of one pixel.
- Added module `color` for working with colorspace and gamma.
2022-10-07 20:39:21 +04:00
Kirill Kuzminykh 5b89090d11 - Fixed benchmarks for resizing images with alpha channel using the resizer crate.
- Removed `image` crate from benchmarks for resizing images with alpha.
- Added method `Image::copy(&self) -> Image<'static>`.
2022-06-28 23:50:14 +03:00
Kirill Kuzminykh 891312a4bb Added support of new type of pixels PixelType::U16x4. 2022-06-26 19:16:22 +03:00
Kirill Kuzminykh 20d0578306 Added support of new type of pixels PixelType::U16x2 2022-06-22 21:52:47 +03:00