All Projects → JuliaIO → Blosc.jl

JuliaIO / Blosc.jl

Licence: other
Blosc compression for the Julia language

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Blosc.jl

Turbopfor Integer Compression
Fastest Integer Compression
Stars: ✭ 520 (+2066.67%)
Mutual labels:  compression
Lz4
Extremely Fast Compression algorithm
Stars: ✭ 6,623 (+27495.83%)
Mutual labels:  compression
Compressonator
Tool suite for Texture and 3D Model Compression, Optimization and Analysis using CPUs, GPUs and APUs
Stars: ✭ 785 (+3170.83%)
Mutual labels:  compression
Fflate
High performance (de)compression in an 8kB package
Stars: ✭ 547 (+2179.17%)
Mutual labels:  compression
Leanify
lightweight lossless file minifier/optimizer
Stars: ✭ 694 (+2791.67%)
Mutual labels:  compression
Dandere2x
Dandere2x - Fast Waifu2x Video Upscaling.
Stars: ✭ 723 (+2912.5%)
Mutual labels:  compression
Orz
a high performance, general purpose data compressor written in rust
Stars: ✭ 509 (+2020.83%)
Mutual labels:  compression
Peazip
Free Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager. Features volume spanning, compression, authenticated encryption. Supports 7Z, 7-Zip sfx, ACE, ARJ, Brotli, BZ2, CAB, CHM, CPIO, DEB, GZ, ISO, JAR, LHA/LZH, NSIS, OOo, PAQ/LPAQ, PEA, QUAD, RAR, RPM, split, TAR, Z, ZIP, ZIPX, Zstandard.
Stars: ✭ 827 (+3345.83%)
Mutual labels:  compression
Wavideobox
秒级! 三行代码实现iOS视频压缩、变速、混音、合并、GIF水印、旋转、换音、裁剪 ! 支持不同分辩率,支持你能想到的各种混合操作! 扩展性强...更多功能不断增加中... iOS 8.0 + 有需要的功能或错误欢迎issue,笔者会及时更新
Stars: ✭ 707 (+2845.83%)
Mutual labels:  compression
Flyimg
Dockerized PHP7 application runs as a Microservice to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).
Stars: ✭ 762 (+3075%)
Mutual labels:  compression
Zip
A portable, simple zip library written in C
Stars: ✭ 596 (+2383.33%)
Mutual labels:  compression
Bareos
Main repository with the code for the libraries and daemons
Stars: ✭ 651 (+2612.5%)
Mutual labels:  compression
C Blosc
A blocking, shuffling and loss-less compression library that can be faster than `memcpy()`.
Stars: ✭ 742 (+2991.67%)
Mutual labels:  compression
Lepton
Lepton is a tool and file format for losslessly compressing JPEGs by an average of 22%.
Stars: ✭ 4,918 (+20391.67%)
Mutual labels:  compression
Gan Compression
[CVPR 2020] GAN Compression: Efficient Architectures for Interactive Conditional GANs
Stars: ✭ 800 (+3233.33%)
Mutual labels:  compression
Fst
Lightning Fast Serialization of Data Frames for R
Stars: ✭ 521 (+2070.83%)
Mutual labels:  compression
Acl
Animation Compression Library
Stars: ✭ 716 (+2883.33%)
Mutual labels:  compression
Borgmatic
Simple, configuration-driven backup software for servers and workstations
Stars: ✭ 902 (+3658.33%)
Mutual labels:  compression
Zlib Ng
zlib replacement with optimizations for "next generation" systems.
Stars: ✭ 807 (+3262.5%)
Mutual labels:  compression
Minizip Ng
Fork of the popular zip manipulation library found in the zlib distribution.
Stars: ✭ 750 (+3025%)
Mutual labels:  compression

The Blosc Module for Julia

Build Status Build status

This module provides fast lossless compression for the Julia language by interfacing the Blosc Library.

Note that Blosc is currently limited to 32-bit buffer sizes. Blosc does run just fine on 64-bit systems; it just can't compress arrays bigger than 2GB. Note also that this limitation does not affect the use of Blosc compression for HDF5, since HDF5 breaks up large arrays into small chunks before compressing them. So, don't worry about this if you are just using Blosc within the HDF5 package.

Installation

To install, simply run Pkg.add("Blosc") in Julia. Precompiled binaries are provided for Mac and Windows systems, while on other systems the Blosc library will be downloaded and compiled.

Usage

The functions provided are:

  • compress(src::Array{T}; level=5, shuffle=true, itemsize=sizeof(T)): returns a Vector{UInt8} consisting of src in compressed form. level is the compression level (between 0=no compression and 9=max), shuffle indicates whether to use Blosc's shuffling preconditioner, which is optimized for arrays of binary items of size itemsize.

  • compress!(dest::Vector{UInt8}, src; ...): as compress, but uses a pre-allocated destination buffer dest. Returns the size (in bytes) of the compressed data, or 0 if the buffer was too small.

  • decompress(T::Type, src::Vector{UInt8}): return the compressed buffer src as an array of element type T.

  • decompress!(dest::Vector{T}, src::Vector{UInt8}): like decompress, but uses a pre-allocated destination buffer, which is resized as needed to store the decompressed data.

  • Blosc.set_num_threads(n=CPU_CORES): tells Blosc to use n threads (initially 1).

  • Blosc.compressors(): returns an array of strings for the available compression algorithms. (The blosclz compressor is the default.)

  • Blosc.set_compressor(s::AbstractString): set the current compression algorithm

Author

This module was written by Steven G. Johnson and Jake Bolewski (who had independently written his own Blosc.jl package which is now merged with this one).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].