Tôi có một tập tin lớn dữ liệu tôi đã nén với zlib sử dụng IOStream tăng và bộ đệm dòng lọc:Boost IO Stream và ZLib tăng tốc độ
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);
Đối với tốc độ tôi đang khởi tạo thư viện zlib như sau:
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));
decompressor của tôi trông như thế này:
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));
câu hỏi của tôi là đang có một ny cách tôi có thể tăng tốc độ hoạt động thổi phồng (giải nén)? Hiện tại, quá trình nén chiếm khoảng 83% thời gian truy cập dữ liệu của tôi và tôi thực sự cần nhanh hơn. Bất kỳ đề xuất sẽ được đánh giá rất cao.