lz4 アルゴリズムは非常に高速で、かなり圧縮率が高いことを読みました。しかし、私のテスト アプリでは、圧縮されたテキストがソース テキストよりも大きくなっています。何が問題ですか?
srand(time(NULL));
std::string text;
for (int i = 0; i < 65535; ++i)
text.push_back((char)(0 + rand() % 256));
cout << "Text size: " << text.size() << endl;
char *compressedData = new char[text.size() * 2];
int compressedSize = LZ4_compress(text.c_str(), text.size(), compressedData);
cout << "Compressed size: " << compressedSize << endl;
LZ4_compress も試してみましたが、結果は同じです。しかし、同じ記号で文字列を生成したり、2 つの異なる記号で文字列を生成したりすると、圧縮が存在します。