10个不稳定版本 (3个破坏性更改)
| 新增 0.8.3 | 2024年8月15日 |
|---|---|
| 0.8.2 | 2024年8月13日 |
| 0.7.0 | 2024年7月7日 |
| 0.6.2 | 2024年4月20日 |
| 0.5.1 | 2024年3月18日 |
#834 in 编码
每月下载量395次
57KB
1K SLoC
zarrs_ffi
zarrs库的FFI绑定,是一个Rust库,用于Zarr多维数组和元数据的存储格式。
目前zarrs_ffi仅支持zarrs API的一小部分。
CMake快速入门
- 安装Rust编译器(和cargo)。
- 将Findzarrs.cmake放入你的
CMAKE_MODULE_PATH find_package(zarrs0.8 REQUIRED COMPONENTSzarrs/bz2)- zarrs是从
GitHub使用FetchContent检索的,并使用corrosion构建的 - 组件是可选的zarrs编解码器
- zarrs是从
zarrs_ffi库作为zarrs::zarrs或zarrs::zarrs-static目标提供
完整的CMake示例可以在示例中找到。
手动构建
基本构建
构建将生成一个头文件,以及平台相关的静态和动态库。
cargo build --release --features cbindgen # -> zarrs.h and target/release/[lib]zarrs_ffi{.a,.so,.dll,.dylib}
zarrs.h只有在启用cbindgen功能时才会重新生成。
启用SIMD内联函数
启用avx2/sse2(如果支持)可以改善编码和解码性能。使用以下任一编译
RUSTFLAGS="-C target-cpu=native"RUSTFLAGS="-C target-feature=+avx2,+sse2"
启用非默认的zarrs编解码器
默认之外的 zarrs 编解码器(见 zarrs crate features)可以通过启用 all_codecs 功能来启用。或者,可以通过传递它们作为功能标志来分别启用编码器。例如
cargo build --release --features cbindgen --features zarrs/zstd,zarrs/bitround,zarrs/zfp,zarrs/bz2,zarrs/pcodec,zarrs/gdeflate
许可证
zarrs_ffi 的许可证为以下之一:
- Apache License 2.0 LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0 或
- MIT 许可证 LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT,任选其一。
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您提交的旨在包含在作品中的任何贡献,都将根据上述方式双许可,不附加任何其他条款或条件。
依赖关系
约 10-20MB
~277K SLoC