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 或 http://www.apache.org/licenses/LICENSE-2.0 或
- MIT 许可证 LICENSE-MIT 或 http://opensource.org/licenses/MIT,任选其一。
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您提交的旨在包含在作品中的任何贡献,都将根据上述方式双许可,不附加任何其他条款或条件。
依赖关系
约 10-20MB
~277K SLoC