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 编码

Download history 75/week @ 2024-04-26 1/week @ 2024-05-03 112/week @ 2024-07-05 7/week @ 2024-07-12 59/week @ 2024-07-26 129/week @ 2024-08-02 207/week @ 2024-08-09

每月下载量395次

MIT/Apache

57KB
1K SLoC

zarrs_ffi

Latest Version zarrs documentation msrv build

zarrs库的FFI绑定,是一个Rust库,用于Zarr多维数组和元数据的存储格式。

目前zarrs_ffi仅支持zarrs API的一小部分。

变更日志可以在这里找到。示例用法可以在示例中找到。

CMake快速入门

  1. 安装Rust编译器(和cargo)。
  2. Findzarrs.cmake放入你的CMAKE_MODULE_PATH
  3. find_package(zarrs0.8 REQUIRED COMPONENTSzarrs/bz2)
    • zarrs是从GitHub使用FetchContent检索的,并使用corrosion构建的
    • 组件是可选的zarrs编解码器
  4. zarrs_ffi库作为zarrs::zarrszarrs::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-2.0 许可证定义的,您提交的旨在包含在作品中的任何贡献,都将根据上述方式双许可,不附加任何其他条款或条件。

依赖关系

约 10-20MB
~277K SLoC