DBDelve
DBDelve는 Rust 기반 빠른 다중 엔진 데이터베이스 클라이언트, 무료 오픈소스, 텔레메트리 없음
Pillow-AllSIMD는 Pillow-SIMD를 포크한 SIMD 빌드 Pillow의 대체 버전이다
Pillow-AllSIMD is a fork of Pillow-SIMD, the SIMD build of Pillow, the friendly fork of the Python Imaging Library (PIL). It is a drop-in replacement for the Pillow version it follows, now 13.0.0: ...
개발 도구Python · CGitHub @desmoteo온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Drop-in Pillow 13 with SIMD kernels: about 6x faster on x86-64 (SSE4.1, AVX2, AVX-VNNI) and 3x on arm64 (NEON). Wheels on PyPI. A fork of Pillow-SIMD.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Pillow 13, 6.3× as fast on x86-64 and 3.3× as fast on arm64, as the geometric mean of 111 operations on one thread (5.6× and 2.7× with Pillow's exact arithmetic). That is 3.0× as fast as Pillow-SIMD, and faster than OpenCV in 77 of the 104 operations both have on x86-64, 69 on arm64.
A drop-in replacement for Pillow 13.0.0: it installs
the same PIL package, with the same API, built with SIMD kernels for
x86-64 (SSE4.1, AVX2, AVX-VNNI) and arm64 (NEON). Your code doesn't change.
python3 -m pip uninstall -y pillow pillow-simd
python3 -m pip install pillow-allsimd
It is a fork of Pillow-SIMD, which brought SIMD to Pillow on x86:
| Pillow-AllSIMD | Pillow-SIMD 12.1.1 | |
|---|---|---|
| Based on | Pillow 13.0.0 | Pillow 12.1.1 |
| x86-64 | SSE4.1, AVX2 and AVX-VNNI kernels, the best set chosen at import | SSE4 or AVX2, chosen when it is built |
| arm64 | NEON kernels (Linux, macOS) | does not build (-msse4) |
| Other CPUs | portable C (riscv64, ppc64le, s390x, armv7) | does not build |
| Wheels on PyPI | Linux x86-64 and arm64, macOS arm64; CPython 3.11 to 3.15 and free-threaded | none: compiled when installed |
How the speed was found, and what didn't work: Six times Pillow: notes from Pillow-AllSIMD.
For Pillow itself, please refer to its documentation, changelog and contribution guide.
simd/pillow-13 branch).checks/simd_hashes.py). The portable build also passes the
suite on riscv64, ppc64le, s390x, armv7 and 32-bit x86, under QEMU
(OTHER_ARCHITECTURES.md).Pillow-AllSIMD stands on the work of others, and keeps their copyright notices (LICENSE):
Pillow-AllSIMD's own changes are by Matteo Ferrabone and contributors. To cite it, see CITATION.cff, which also cites Pillow and Pillow-SIMD.
(From Pillow-SIMD's readme, like the "why" sections further down.)
There are multiple ways to tweak image processing performance. To name a few, such ways can be: utilizing better algorithms, optimizing existing implementations, using more processing power and/or resources. One of the great examples of using a more efficient algorithm is replacing a convolution-based Gaussian blur with a sequential-box one.
Such examples are rather rare, though. It is also known, that certain processes might be optimized by using parallel processing to run the respective routines. But a more practical key to optimizations might be making things work faster using the resources at hand. For instance, SIMD computing might be the case.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗