Ну, я пытаюсь сжать как рекурсивные данные, это забавно. Проверьте мой пример:
private byte[] CompressWithLevels(byte[] data)
{
using(MemoryStream ms = new MemoryStream())
{
using(GZipStream gz = new GZipStream(ms, CompressionMode.Compress))
{
gz.Write(data, 0, data.Length);
return ms.ToArray();
}
}
}
Теперь я пытаюсь сжать файл слишком большого размера, например:
string path = @"c:\test.bin";
byte[] buffer = File.ReadAllBytes(path);
byte[] level1 = CompressWithLevels(buffer);
byte[] level2 = CompressWithLevels(level1);
Проверьте размер буфера, level1 и level2.
размер буфера составляет 77683, уровень1 = 57354 и уровень2 = 8202 ...
буфер равен 100%, тогда:
57354 составляет 73,83%
8202 - это 10,55%
так смешно.