miniz compared to other real-time and high-ratio compressors

压缩和归档库-miniz介绍 miniz是一个单一文件的小型压缩库,它是zlib的一个替代品,专门为需要轻量级压缩解决方案的项目设计,它被设计成可以轻松地集成到项目中,并且具有最小的依赖性。支持zlib兼容的压缩和解压缩。单个源文件实现,易于集成。小的内存占用,适合资源受限的环境。支持流式压缩和解压缩。包含用于压缩和解压缩文件的简单API。miniz通常被用作游戏、嵌入式系统、移动应用和其他需要减小依赖和体积的项目的压缩解决方案。 阅读详情

Introduction

This page shows how miniz.c v1.10 compares to several other popular open source lossless data compression codecs at compression level 9 (max compression), with two examples at level 1 (fastest compression) on enwik8 and enwik9. The data here was generated using a slightly modified and enhanced version of John Ratcliff's compressiontest project, compiled to x64.

On a Core i7 3.2 GHz, miniz.c's typical decompression rate is around 175-250 MB/sec., and its typical compression rate is anywhere from 14-120.5MB/s (actual rates depend on the compression level, as well as the compressibility and redundancy present in the source data). The x64 version of the decompressor is faster than the x86 version, sometimes up to 20%, mostly due to good register utilization. miniz.c's inflater can be optionally configured to use a 64-bit bitbuffer on 64-bit CPU's, and unaligned 16 and 32-bit loads on little endian platforms (the tests below had both optimizations enabled).

For comparison purposes, I've added stb_image.c's Inflater implementation to compresssiontest, and LZHAM alpha7. Note that miniz.c is used for compressing the data supplied to stb_image.c for decompression (stb_image.c does not include a compressor, stb_image_write.h contains a simple compressor but I haven't tested it yet). Also, stb_image.c does not compute an Adler-32 checksum of the uncompressed data, and miniz.c and zlib do, so stb's actual "apples to apples" performance is a little lower than reported here. (Approximately 10% of miniz.c's decompression time is spent computing the Adler32 checksum. Note, stb_image.c is extremely useful and it inspired miniz.c -- I'm only using it as a point of reference to help compare alternate Inflate implementations against zlib.)

Test machine: Win7 Ultimate x64, Intel Gulftown Core i7 3.2GHz (6 cores, 12 hyperthreads), 24GB of RAM, EVGA X58 motherboard. All code was compiled with Visual Studio 2005.

LZHAM and LZMA where both set to use 512MB dictionary sizes in these tests.

File: enwik8 (miniz.c compression level 9):

E:\lzham\compressiontest\test_compression>test_compression_x64.exe E:\dev\corpus\enwik8\enwik8
x64 version
Reading test file 'E:\dev\corpus\enwik8\enwik8' which is 100,000,000 bytes long.

---------------------------------------------------------------
Testing Compression rate and speed with various compressors.
---------------------------------------------------------------
Compress:CT_STB     :FROM:100,000,000 TO: 36,460,117 63.54%    5,871 MS
Compress:CT_MINIZ   :FROM:100,000,000 TO: 36,460,117 63.54%    5,872 MS
Compress:CT_CRYPTO  :FROM:100,000,000 TO: 36,642,772 63.36%    7,501 MS
Compress:CT_MINILZO :FROM:100,000,000 TO: 53,481,960 46.52%      868 MS
Compress:CT_ZLIB    :FROM:100,000,000 TO: 36,475,808 63.52%    7,635 MS
Compress:CT_BZIP    :FROM:100,000,000 TO: 33,259,584 66.74%    9,444 MS
Compress:CT_LIBLZF  :FROM:100,000,000 TO: 53,945,398 46.05%      688 MS
Compress:CT_LZMA    :FROM:100,000,000 TO: 24,797,518 75.20%   86,542 MS
Compress:CT_FASTLZ  :FROM:100,000,000 TO: 54,163,029 45.84%      738 MS
Compress:CT_LZHAM   :FROM:100,000,000 TO: 24,814,835 75.19%   29,200 MS

---------------------------------------------------------------
Testing Decompression speed with various decompressors.
---------------------------------------------------------------
Decompress:CT_STB     :FROM: 36,460,117 TO:100,000,000      731 MS
Decompress:CT_MINIZ   :FROM: 36,460,117 TO:100,000,000      559 MS
Decompress:CT_CRYPTO  :FROM: 36,642,772 TO:100,000,000    1,823 MS
Decompress:CT_MINILZO :FROM: 53,481,960 TO:100,000,000      463 MS
Decompress:CT_ZLIB    :FROM: 36,475,808 TO:100,000,000      570 MS
Decompress:CT_BZIP    :FROM: 33,259,584 TO:100,000,000    3,587 MS
Decompress:CT_LIBLZF  :FROM: 53,945,398 TO:100,000,000      429 MS
Decompress:CT_LZMA    :FROM: 24,797,518 TO:100,000,000    1,492 MS
Decompress:CT_FASTLZ  :FROM: 54,163,029 TO:100,000,000      458 MS
Decompress:CT_LZHAM   :FROM: 24,814,835 TO:100,000,000      848 MS

File: enwik8 (miniz.c compression level 1 (MZ_BEST_SPEED), zlib set to Z_BEST_SPEED, all other settings are the same as above):

E:\lzham\compressiontest\test_compression>test_compression_x64.exe E:\dev\corpus\enwik8\enwik8
x64 version
Reading test file 'E:\dev\corpus\enwik8\enwik8' which is 100,000,000 bytes long.

---------------------------------------------------------------
Testing Compression rate and speed with various compressors.
---------------------------------------------------------------
Compress:CT_STB     :FROM:100,000,000 TO: 48,510,044 51.49%    1,159 MS
Compress:CT_MINIZ   :FROM:100,000,000 TO: 48,510,044 51.49%    1,158 MS
Compress:CT_CRYPTO  :FROM:100,000,000 TO: 36,642,772 63.36%    7,501 MS
Compress:CT_MINILZO :FROM:100,000,000 TO: 53,481,960 46.52%      868 MS
Compress:CT_ZLIB    :FROM:100,000,000 TO: 42,298,790 57.70%    2,443 MS
Compress:CT_BZIP    :FROM:100,000,000 TO: 33,259,584 66.74%    9,431 MS
Compress:CT_LIBLZF  :FROM:100,000,000 TO: 53,945,398 46.05%      685 MS
Compress:CT_LZMA    :FROM:100,000,000 TO: 24,797,518 75.20%   86,736 MS
Compress:CT_FASTLZ  :FROM:100,000,000 TO: 54,163,029 45.84%      739 MS
Compress:CT_LZHAM   :FROM:100,000,000 TO: 24,813,424 75.19%   29,210 MS

---------------------------------------------------------------
Testing Decompression speed with various decompressors.
---------------------------------------------------------------
Decompress:CT_STB     :FROM: 48,510,044 TO:100,000,000      987 MS
Decompress:CT_MINIZ   :FROM: 48,510,044 TO:100,000,000      718 MS
Decompress:CT_CRYPTO  :FROM: 36,642,772 TO:100,000,000    1,823 MS
Decompress:CT_MINILZO :FROM: 53,481,960 TO:100,000,000      463 MS
Decompress:CT_ZLIB    :FROM: 42,298,790 TO:100,000,000      612 MS
Decompress:CT_BZIP    :FROM: 33,259,584 TO:100,000,000    3,563 MS
Decompress:CT_LIBLZF  :FROM: 53,945,398 TO:100,000,000      429 MS
Decompress:CT_LZMA    :FROM: 24,797,518 TO:100,000,000    1,497 MS
Decompress:CT_FASTLZ  :FROM: 54,163,029 TO:100,000,000      458 MS
Decompress:CT_LZHAM   :FROM: 24,813,424 TO:100,000,000      853 MS

File: enwik9 (miniz.c compression level 9):

E:\lzham\compressiontest\test_compression>test_compression_x64.exe E:\dev\corpus\enwik9\enwik9
x64 version
Reading test file 'E:\dev\corpus\enwik9\enwik9' which is 1,000,000,000 bytes long.

---------------------------------------------------------------
Testing Compression rate and speed with various compressors.
---------------------------------------------------------------
Compress:CT_STB     :FROM:1,000,000,000 TO:322,771,589 67.72%   50,859 MS
Compress:CT_MINIZ   :FROM:1,000,000,000 TO:322,771,589 67.72%   50,869 MS
Compress:CT_CRYPTO  :FROM:1,000,000,000 TO:324,897,277 67.51%   65,744 MS
Compress:CT_MINILZO :FROM:1,000,000,000 TO:477,237,740 52.28%    7,807 MS
Compress:CT_ZLIB    :FROM:1,000,000,000 TO:322,789,246 67.72%   66,571 MS
Compress:CT_BZIP    :FROM:1,000,000,000 TO:295,663,950 70.43%   94,037 MS
Compress:CT_LIBLZF  :FROM:1,000,000,000 TO:492,987,206 50.70%    6,310 MS
Compress:CT_LZMA    :FROM:1,000,000,000 TO:201,776,574 79.82% 1,043,293 MS
Compress:CT_FASTLZ  :FROM:1,000,000,000 TO:487,260,768 51.27%    6,748 MS
Compress:CT_LZHAM   :FROM:1,000,000,000 TO:202,475,460 79.75%  351,687 MS

---------------------------------------------------------------
Testing Decompression speed with various decompressors.
---------------------------------------------------------------
Decompress:CT_STB     :FROM:322,771,589 TO:1,000,000,000    6,717 MS
Decompress:CT_MINIZ   :FROM:322,771,589 TO:1,000,000,000    5,050 MS
Decompress:CT_CRYPTO  :FROM:324,897,277 TO:1,000,000,000   16,770 MS
Decompress:CT_MINILZO :FROM:477,237,740 TO:1,000,000,000    4,205 MS
Decompress:CT_ZLIB    :FROM:322,789,246 TO:1,000,000,000    5,171 MS
Decompress:CT_BZIP    :FROM:295,663,950 TO:1,000,000,000   33,298 MS
Decompress:CT_LIBLZF  :FROM:492,987,206 TO:1,000,000,000    4,025 MS
Decompress:CT_LZMA    :FROM:201,776,574 TO:1,000,000,000   12,650 MS
Decompress:CT_FASTLZ  :FROM:487,260,768 TO:1,000,000,000    4,223 MS
Decompress:CT_LZHAM   :FROM:202,475,460 TO:1,000,000,000    7,444 MS

File: enwik9 (miniz.c compression level 1 (MZ_BEST_SPEED), zlib set to Z_BEST_SPEED, all other settings are the same as above):

E:\lzham\compressiontest\test_compression>test_compression_x64.exe E:\dev\corpus\enwik9\enwik9
x64 version
Reading test file 'E:\dev\corpus\enwik9\enwik9' which is 1,000,000,000 bytes long.

---------------------------------------------------------------
Testing Compression rate and speed with various compressors.
---------------------------------------------------------------
Compress:CT_STB     :FROM:1,000,000,000 TO:436,564,069 56.34%   10,417 MS
Compress:CT_MINIZ   :FROM:1,000,000,000 TO:436,564,069 56.34%   10,418 MS
Compress:CT_CRYPTO  :FROM:1,000,000,000 TO:324,897,277 67.51%   66,169 MS
Compress:CT_MINILZO :FROM:1,000,000,000 TO:477,237,740 52.28%    7,769 MS
Compress:CT_ZLIB    :FROM:1,000,000,000 TO:378,355,092 62.16%   21,900 MS
Compress:CT_BZIP    :FROM:1,000,000,000 TO:295,663,950 70.43%   93,694 MS
Compress:CT_LIBLZF  :FROM:1,000,000,000 TO:492,987,206 50.70%    6,326 MS
Compress:CT_LZMA    :FROM:1,000,000,000 TO:201,776,574 79.82% 1,043,293 MS
Compress:CT_FASTLZ  :FROM:1,000,000,000 TO:487,260,768 51.27%    6,756 MS
Compress:CT_LZHAM   :FROM:1,000,000,000 TO:202,475,460 79.75%  351,687 MS

---------------------------------------------------------------
Testing Decompression speed with various decompressors.
---------------------------------------------------------------
Decompress:CT_STB     :FROM:436,564,069 TO:1,000,000,000    9,010 MS
Decompress:CT_MINIZ   :FROM:436,564,069 TO:1,000,000,000    6,530 MS
Decompress:CT_CRYPTO  :FROM:324,897,277 TO:1,000,000,000   16,786 MS
Decompress:CT_MINILZO :FROM:477,237,740 TO:1,000,000,000    4,205 MS
Decompress:CT_ZLIB    :FROM:378,355,092 TO:1,000,000,000    5,612 MS
Decompress:CT_BZIP    :FROM:295,663,950 TO:1,000,000,000   33,340 MS
Decompress:CT_LIBLZF  :FROM:492,987,206 TO:1,000,000,000    3,977 MS
Decompress:CT_LZMA    :FROM:201,776,574 TO:1,000,000,000   12,650 MS
Decompress:CT_FASTLZ  :FROM:487,260,768 TO:1,000,000,000    4,214 MS
Decompress:CT_LZHAM   :FROM:202,475,460 TO:1,000,000,000    7,444 MS

File: Entire Large Calgary Corpus added to a single uncompressed 7zip archive (miniz.c compression level 9):

E:\lzham\compressiontest\test_compression>test_compression_x64.exe e:\dev\corpus\calgary_corpus.7z
x64 version
Reading test file 'e:\dev\corpus\calgary_corpus.7z' which is 3,251,898 bytes long.

---------------------------------------------------------------
Testing Compression rate and speed with various compressors.
---------------------------------------------------------------
Compress:CT_STB     :FROM:  3,251,898 TO:  1,065,470 67.24%      224 MS
Compress:CT_MINIZ   :FROM:  3,251,898 TO:  1,065,470 67.24%      224 MS
Compress:CT_CRYPTO  :FROM:  3,251,898 TO:  1,067,241 67.18%      240 MS
Compress:CT_MINILZO :FROM:  3,251,898 TO:  1,581,684 51.36%       26 MS
Compress:CT_ZLIB    :FROM:  3,251,898 TO:  1,059,243 67.43%      353 MS
Compress:CT_BZIP    :FROM:  3,251,898 TO:    961,353 70.44%      277 MS
Compress:CT_LIBLZF  :FROM:  3,251,898 TO:  1,593,245 51.01%       20 MS
Compress:CT_LZMA    :FROM:  3,251,898 TO:    853,241 73.76%    1,570 MS
Compress:CT_FASTLZ  :FROM:  3,251,898 TO:  1,606,374 50.60%       21 MS
Compress:CT_LZHAM   :FROM:  3,251,898 TO:    893,578 72.52%    1,028 MS

---------------------------------------------------------------
Testing Decompression speed with various decompressors.
---------------------------------------------------------------
Decompress:CT_STB     :FROM:  1,065,470 TO:  3,251,898       22 MS
Decompress:CT_MINIZ   :FROM:  1,065,470 TO:  3,251,898       17 MS
Decompress:CT_CRYPTO  :FROM:  1,067,241 TO:  3,251,898       54 MS
Decompress:CT_MINILZO :FROM:  1,581,684 TO:  3,251,898       14 MS
Decompress:CT_ZLIB    :FROM:  1,059,243 TO:  3,251,898       17 MS
Decompress:CT_BZIP    :FROM:    961,353 TO:  3,251,898      104 MS
Decompress:CT_LIBLZF  :FROM:  1,593,245 TO:  3,251,898       13 MS
Decompress:CT_LZMA    :FROM:    853,241 TO:  3,251,898       55 MS
Decompress:CT_FASTLZ  :FROM:  1,606,374 TO:  3,251,898       13 MS
Decompress:CT_LZHAM   :FROM:    893,578 TO:  3,251,898       39 MS

File: "pic" from the Large Calgary Corpus (miniz.c compression level 9):

E:\lzham\compressiontest\test_compression>test_compression_x64.exe e:\dev\corpus\large_calgary_corpus\pic
x64 version
Reading test file 'e:\dev\corpus\large_calgary_corpus\pic' which is 513,216 bytes long.

---------------------------------------------------------------
Testing Compression rate and speed with various compressors.
---------------------------------------------------------------
Compress:CT_STB     :FROM:    513,216 TO:     53,721 89.53%       26 MS
Compress:CT_MINIZ   :FROM:    513,216 TO:     53,721 89.53%       26 MS
Compress:CT_CRYPTO  :FROM:    513,216 TO:     57,166 88.86%       18 MS
Compress:CT_MINILZO :FROM:    513,216 TO:     86,304 83.18%        2 MS
Compress:CT_ZLIB    :FROM:    513,216 TO:     52,237 89.82%       96 MS
Compress:CT_BZIP    :FROM:    513,216 TO:     49,928 90.27%       17 MS
Compress:CT_LIBLZF  :FROM:    513,216 TO:     80,772 84.26%        1 MS
Compress:CT_LZMA    :FROM:    513,216 TO:     41,897 91.84%      367 MS
Compress:CT_FASTLZ  :FROM:    513,216 TO:     81,960 84.03%        1 MS
Compress:CT_LZHAM   :FROM:    513,216 TO:     47,437 90.76%      515 MS

---------------------------------------------------------------
Testing Decompression speed with various decompressors.
---------------------------------------------------------------
Decompress:CT_STB     :FROM:     53,721 TO:    513,216        2 MS
Decompress:CT_MINIZ   :FROM:     53,721 TO:    513,216        2 MS
Decompress:CT_CRYPTO  :FROM:     57,166 TO:    513,216        4 MS
Decompress:CT_MINILZO :FROM:     86,304 TO:    513,216        2 MS
Decompress:CT_ZLIB    :FROM:     52,237 TO:    513,216        1 MS
Decompress:CT_BZIP    :FROM:     49,928 TO:    513,216        6 MS
Decompress:CT_LIBLZF  :FROM:     80,772 TO:    513,216        1 MS
Decompress:CT_LZMA    :FROM:     41,897 TO:    513,216        4 MS
Decompress:CT_FASTLZ  :FROM:     81,960 TO:    513,216        1 MS
Decompress:CT_LZHAM   :FROM:     47,437 TO:    513,216        7 MS

Files: Uncompressed 7zip archive of an Adobe Acrobat Reader 9.0 installation (miniz.c compression level 9):

E:\lzham\compressiontest\test_compression>test_compression_x64.exe e:\dev\corpus\adobe.7z
x64 version
Reading test file 'e:\dev\corpus\adobe.7z' which is 146,332,683 bytes long.

---------------------------------------------------------------
Testing Compression rate and speed with various compressors.
---------------------------------------------------------------
Compress:CT_STB     :FROM:146,332,683 TO: 89,281,876 38.99%    9,780 MS
Compress:CT_MINIZ   :FROM:146,332,683 TO: 89,281,876 38.99%    9,781 MS
Compress:CT_CRYPTO  :FROM:146,332,683 TO: 91,494,418 37.48%    7,156 MS
Compress:CT_MINILZO :FROM:146,332,683 TO:101,687,569 30.51%    1,702 MS
Compress:CT_ZLIB    :FROM:146,332,683 TO: 89,166,466 39.07%   13,143 MS
Compress:CT_BZIP    :FROM:146,332,683 TO: 89,072,636 39.13%   20,828 MS
Compress:CT_LIBLZF  :FROM:146,332,683 TO:106,352,717 27.32%    1,100 MS
Compress:CT_LZMA    :FROM:146,332,683 TO: 74,361,137 49.18%   59,076 MS
Compress:CT_FASTLZ  :FROM:146,332,683 TO:105,548,437 27.87%    1,032 MS
Compress:CT_LZHAM   :FROM:146,332,683 TO: 75,314,840 48.53%   42,354 MS

---------------------------------------------------------------
Testing Decompression speed with various decompressors.
---------------------------------------------------------------
Decompress:CT_STB     :FROM: 89,281,876 TO:146,332,683    1,119 MS
Decompress:CT_MINIZ   :FROM: 89,281,876 TO:146,332,683      773 MS
Decompress:CT_CRYPTO  :FROM: 91,494,418 TO:146,332,683    2,142 MS
Decompress:CT_MINILZO :FROM:101,687,569 TO:146,332,683      545 MS
Decompress:CT_ZLIB    :FROM: 89,166,466 TO:146,332,683      820 MS
Decompress:CT_BZIP    :FROM: 89,072,636 TO:146,332,683    7,101 MS
Decompress:CT_LIBLZF  :FROM:106,352,717 TO:146,332,683      565 MS
Decompress:CT_LZMA    :FROM: 74,361,137 TO:146,332,683    5,259 MS
Decompress:CT_FASTLZ  :FROM:105,548,437 TO:146,332,683      573 MS
Decompress:CT_LZHAM   :FROM: 75,314,840 TO:146,332,683    1,761 MS

File: miniz3_v109.zip (a test of how well various codecs handle already compressed data) (miniz.c compression level 9):

E:\lzham\compressiontest\test_compression>test_compression_x64.exe e:\dev\miniz3_v109.zip
x64 version
Reading test file 'e:\dev\miniz3_v109.zip' which is 417,549 bytes long.

---------------------------------------------------------------
Testing Compression rate and speed with various compressors.
---------------------------------------------------------------
Compress:CT_STB     :FROM:    417,549 TO:    416,312 0.30%       17 MS
Compress:CT_MINIZ   :FROM:    417,549 TO:    416,312 0.30%       17 MS
Compress:CT_CRYPTO  :FROM:    417,549 TO:    417,658 -0.03%        9 MS
Compress:CT_MINILZO :FROM:    417,549 TO:    417,760 -0.05%        7 MS
Compress:CT_ZLIB    :FROM:    417,549 TO:    416,408 0.27%       18 MS
Compress:CT_BZIP    :FROM:    417,549 TO:    420,125 -0.62%       88 MS
Compress:CT_LIBLZF  :FROM:    417,549 TO:    429,060 -2.76%        4 MS
Compress:CT_LZMA    :FROM:    417,549 TO:    420,196 -0.63%      313 MS
Compress:CT_FASTLZ  :FROM:    417,549 TO:    429,044 -2.75%        3 MS
Compress:CT_LZHAM   :FROM:    417,549 TO:    417,575 -0.01%       82 MS

---------------------------------------------------------------
Testing Decompression speed with various decompressors.
---------------------------------------------------------------
Decompress:CT_STB     :FROM:    416,312 TO:    417,549        2 MS
Decompress:CT_MINIZ   :FROM:    416,312 TO:    417,549        1 MS
Decompress:CT_CRYPTO  :FROM:    417,658 TO:    417,549        2 MS
Decompress:CT_MINILZO :FROM:    417,760 TO:    417,549        1 MS
Decompress:CT_ZLIB    :FROM:    416,408 TO:    417,549        2 MS
Decompress:CT_BZIP    :FROM:    420,125 TO:    417,549       28 MS
Decompress:CT_LIBLZF  :FROM:    429,060 TO:    417,549        2 MS
Decompress:CT_LZMA    :FROM:    420,196 TO:    417,549       29 MS
Decompress:CT_FASTLZ  :FROM:    429,044 TO:    417,549        1 MS
Decompress:CT_LZHAM   :FROM:    417,575 TO:    417,549        2 MS
无损压缩算法专题——miniLZO 一、miniLZO介绍 miniLZO是一种轻量级的压缩和解压缩库,它是基于LZO压缩和解压缩算法实现的。LZO虽然功能强大,但是编译后的库文件较大,而minilzo编译后的库则小于5kb,因此miniLZO为那些仅需要简单压缩和解压缩功能的程序而设计,所以适用于单片机等嵌入式系统使用。另外miniLZO的压缩率并不是很高,LZO算法看重的是压缩和解压的速度。 miniLZO下载地...... 阅读详情

相关推荐

轻量级压缩库miniz:从入门到实战应用指南

本文深入解析轻量级压缩库miniz的核心特性与实战应用,重点介绍其在嵌入式系统和移动开发中的高效集成方法。miniz以无依赖、低内存占用和简单API著称,支持0-10级压缩调节,特别适合资源受限的物联网设备和移动应用开发。通过实际案例展示如何优化压缩性能,包括内存管理、流式处理和跨平台集成技巧。

weixin_29168675的博客 458

miniz库简介及使用

miniz库简介及使用

网络资源是无限的 9871

miniz-cpp:跨平台的仅用于标头的C ++ 14库,用于读取和写入ZIP文件

迷你cpp 一个跨平台的仅标头库,用于使用类似于简单API来读取和写入ZIP文件。 有关使用该库的演示,请参见 。

miniz库的使用

miniz的使用方法

weixin_42208702的博客 2660

miniz-3.1.0.zip

c语言压缩库minz

kemeas算法继续优化——elkan kmeas算法

题记:又是凌晨3点的夜 elkan kmeans算法 在我的上一篇博客《kmeans算法性能改进_kmeans++算法+kmeans++优化算法+距离计算优化》中,在一般kmeans算法的基础上,添加了对于初始条件和距离计算更上的一些优化技巧。这篇博客聊一聊elkan算法,其实也是对于kmeans运行速度的优化算法。主要作用与kmeans的距离计算过程。 原理 假如我们已经知道任意两个样本之间的距离,再假设我们已经知道了样本1与聚类中心1之间的距离,根据三角性两边之和大于第三边,c+d>a,所以如果

铁血军的小博客 7065

字符编码、Unicode原理、数据流压缩Zlib与Miniz的实现

字符编码、Unicode原理、数据流压缩Zlib与Miniz的实现

u012173846的博客 2167

74HC165级联踩坑实录:STM32读取32路开关状态,时序调试与常见问题排查

本文详细介绍了74HC165级联在STM32读取32路开关状态时的时序调试与常见问题排查。从硬件设计的PCB布局优化、电源噪声控制,到软件时序的精确调校和数据采集策略,提供了完整的解决方案。通过逻辑分析仪和示波器的高效使用,解决了信号延迟和干扰问题,最终实现了稳定可靠的32路信号读取。

weixin_34046298的博客 313

miniz:一个轻量级、高性能的开源压缩库

miniz是一个轻量级开源压缩库,提供ZLIB/GZIP兼容的压缩/解压缩功能。其核心优势在于单文件实现(miniz.c+miniz.h)、跨平台支持和零依赖,编译后仅50-100KB。支持DEFLATE算法、9级压缩控制、CRC32校验及基础ZIP操作,适用于嵌入式系统、游戏开发等资源受限场景。与标准ZLIB相比,miniz体积更小但功能简化,性能良好但更适用于轻量级应用。使用简单,只需包含头文件并编译源文件即可,提供流式处理接口支持大文件操作。

红军不怕远征难,万水千山只等闲 2663

ubuntu20.04下dsp-slam的运行配置

DSP-SLAM:具有深度形状先验的面向对象的 SLAM

baidu_38431960的博客 3159

中科蓝讯蓝牙耳机SDK实战:从目录解析到消息处理框架

本文深入解析中科蓝讯蓝牙耳机SDK的目录结构与消息处理框架,提供从硬件驱动到蓝牙功能定制的实战指南。重点剖析SDK核心模块如消息队列机制、按键事件处理及电量报告优化,并分享二次开发中的调试技巧与避坑经验,助力开发者高效完成TWS耳机功能定制。

weixin_30335575的博客 387

zip压缩字节流 c语言,zip学习笔记 —— 用C编写的简单压缩库

一、简介基于 miniz 的用C语言编写的可移植的、简单的 zip 库。Miniz 是一个无损的、高性能的数据压缩库,位于一个源文件中。只需要简单的接口来附加缓冲区或文件到当前的 zip 条目。二、移植将 miniz.h、 zip.c、 zip.h 加入工程中三、示例3.1 创建一个具有默认压缩级别的新压缩存档struct zip_t *zip = zip_open("foo.zip", ZIP_...

weixin_39755824的博客 1501

Kali Linux实战:5种局域网DoS攻击手法全解析(附防御方案)

本文以Kali Linux为平台,深入解析了局域网内五种典型的DoS攻击手法,包括TCP SYN Flood、ICMP Flood、MAC地址泛洪、DHCP耗尽以及应用层CC攻击模拟。通过实战演示结合Wireshark抓包分析,清晰揭示了攻击原理与流量特征,并提供了从主机加固、防火墙规则到交换机安全配置(如端口安全、DHCP Snooping)等企业级防御方案,旨在帮助安全人员构建纵深防御体系。

weixin_29313423的博客 396

文件压缩demo

public static void main(String[] args) throws IOException { List<String> fileNames = FileUtil.listFileNames("C:\\Users\\lubingdeng\\Desktop\\归档"); FileOutputStream fileOutputStream = new FileOutputStream("C:\\Users\\lubingdeng\\Deskt.

qq_34844045的博客 225

嵌入式系统(一):鸿蒙系统

本文为期末复习笔记,内容仅供参考???? 鸿蒙系统是一款面向万物互联时代的、全新的分布式操作系统 鸿蒙提出了基于同一套系统能力、适配多种终端形态的分布式理念 提供全场景(移动办公、运动健康、社交通信、指挥出行、媒体娱乐等)业务能力 华为是OpenHarmony开源项目的共建者、也是共享者之一 鸿蒙技术特性 分布式设计 一次开发,多端部署 系统与硬件解耦,弹性部署 三大分布式能力 分布式软总线 设备间互联互通提供分布式通信能力 从手动发现,进化成自发现 传输高带宽关键技术-极简协议 分布式数据管

weixin_45608532的博客 4307

DTI-ALPS 指标计算(附代码),评估脑类淋巴系统功能

DTI-ALPS 指标计算(附代码),评估脑类淋巴系统功能

xxx 1048

2309C++测试miniz简单压缩

2309C++测试miniz简单压缩

个人进步之路 484

猫群优化算法(CSO)详解:从生物灵感到智能优化

猫群优化算法(CSO)是一种模拟猫科动物行为的群体智能优化算法。该算法基于猫的两种主要行为模式:搜寻状态(全局探索)和跟踪状态(局部开发)。CSO通过混合率(MR)动态调整两种模式的比例,实现探索与开发的平衡。算法核心包括搜寻模式的变异操作和跟踪模式的速度-位移模型,具有收敛性能好、全局搜索能力强等特点。相比传统优化算法,CSO在高维复杂问题中表现优异,已成功应用于函数优化、图像处理等多个领域。算法性能受混合率、变化域等参数影响,自适应参数策略可进一步提升优化效果。

qq_42212808的博客 617

Miniz 项目常见问题解决方案

Miniz 是一个单文件的、高性能的数据压缩库,它实现了 zlib(RFC 1950)和 Deflate(RFC 1951)压缩数据格式规范标准。Miniz 的主要编程语言是 C,它提供了一个完全独立的实现,不依赖于 zlib 库,因此 zlib 的许可要求不适用。Miniz 还包含了一些简单易用的函数,用于写入 PNG 格式的图像文件以及读取、写入和追加 ZIP 格式的存档文件。 ## 2. ...

gitblog_00186的博客 765

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【亲测免费】 探索MiniZ:一款高效、轻量级的压缩库

在软件开发中,数据压缩是一种常见的需求,无论是为了节省存储空间还是提高传输效率。今天,我们将深入介绍一个开源项目——,这是一个简洁而强大的压缩库,适合嵌入式系统和各种类型的应用程序。 ## 项目简介 MiniZ是一个C语言编写的压缩库,由Richard Geldreich Jr.创建并维护。它提供了对DEFLATE压缩算法的支持,这是ZIP和PNG文件格式的基础。该项目的主要目标是提供一个轻量...

gitblog_00008的博客 1062

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

基于STM32的无损压缩算法miniLZO移植,压缩率很高,20KB随机数压缩到638字节,耗时275us

说明: 1、miniLZO是采用C编写的无损压缩库。 2、提供了快速压缩和超快速解压缩能力。 3、比较耗内存,需要64KB内存用于压缩,对于H7这种大内存的,非常合适。或者有外置SRAM/SDRAM的也比较合适,相比内部RAM就是速度稍慢些。 4、用到数据压缩的场合非常多,像以太网,无线数据传输,USB数传,固件升级等场合,通数据压缩可以大大提升实际传输的数据量。 5、miniLZO地址...

Simon223的博客 9269

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C++ minizip的简单使用,zip文件的创建、读取、修改、密码压缩、4G以上大文件压缩。

兄弟姐妹们好,深夜党又来记录枯燥的编程生活了。今天给大家带来的是minizip库,一个解压和压缩文件的开源代码库,如题目所示的结构来介绍。你可以在下面的链接搜索到minizip库:

Bobowen的博客 1万+

2308miniz压缩文件的用法

2308miniz压缩文件的用法

个人进步之路 358

Elsevier Tracker:科研投稿进度自动追踪的终极解决方案

作为一名科研工作者,你是否经常为Elsevier期刊投稿的进度追踪而烦恼?反复登录系统查看审稿状态、担心错过重要时间节点、难以整理复杂的审稿历史记录...这些困扰现在有了完美的解决方案!Elsevier Tracker是一款开源的Chrome插件,专门为Elsevier投稿系统设计的智能追踪工具,能够自动抓取稿件最新状态,用直观面板展示关键进度信息,让你彻底告别手动查询的烦恼。 ## 为什么选择

gitblog_01011的博客 1181

AgentScope:构建企业级分布式智能体的异构编排平台

在大型模型驱动的应用架构演进中,AgentScope 定位为面向生产环境的 **异构智能体编排层**,通过 Actor 模型与事件驱动架构,实现了从单体智能体到分布式多智能体系统的技术跃迁。该平台的核心价值在于将复杂的多智能体协作抽象为可观测、可理解、可信赖的工程实践,为技术决策者提供了构建下一代 AI 原生应用的基础设施。 ## 数字神经系统:基于 Actor 模型的事件驱动架构 Agent

gitblog_00060的博客 709
上一篇: Temporal AA
下一篇: Random number for GPU
cnjet
博客等级 码龄24年 47粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值