gpt4 book ai didi

c++ - Boost IO Stream 和 ZLib 提速

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:45 33 4
gpt4 key购买 nike

我有一个大文件,我使用 Zlib 使用 boost IOStreams 和过滤流缓冲区压缩了数据:

boost::iostreams::array_source uncompressedArray( reinterpret_cast< const char* >( &uncompressedData[0] ), uncompressedData.size() );

boost::iostreams::filtering_streambuf< boost::iostreams::output > out;
out.push( *m_compressor );
out.push( boost::iostreams::char_back_inserter( compressedData ) );
boost::iostreams::copy( uncompressedArray, out );

为了 boost 速度,我使用以下内容初始化 zlib 库:

boost::iostreams::zlib_params params;
params.level = boost::iostreams__zlib::best_speed;
params.mem_level = 9;

m_compressor.reset( new boost::iostreams::zlib_compressor( params, 131072 ) );
m_decompressor.reset( new boost::iostreams::zlib_decompressor( params, 131072 ) );

我的解压器是这样的:

boost::iostreams::array_source compressedArray( reinterpret_cast< const char* >( &compressedData[0] ), compressedData.size() );

boost::iostreams::filtering_streambuf< boost::iostreams::input > m_in;
m_in.push( *m_decompressor );
m_in.push( compressedArray );
boost::iostreams::copy( m_in, boost::iostreams::char_back_inserter( uncompressedData ) );

我的问题是有什么方法可以加快膨胀(解压)操作吗?现在,压缩占用了我大约 83% 的数据访问时间,我真的需要加快速度。任何建议将不胜感激。

最佳答案

加快解压速度的唯一方法是使压缩后的数据更小,从而减少处理量。这意味着要花更多的时间进行压缩,假设您不那么关心这方面的处理时间。所以你会选择最好的压缩。

关于c++ - Boost IO Stream 和 ZLib 提速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13807800/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com