Эффективность GZipStream

Я пытаюсь сохранить большой массив UInt16 в файл. positionCnt около 50000, stationCnt около 2500. При сохранении напрямую, без GZipStream, файл составляет около 250MB, который может быть сжат внешней zip программой до 19MB. При использовании следующего кода файл составляет 507MB. Что я делаю не так?

GZipStream cmp = new GZipStream(File.Open(cacheFileName, FileMode.Create), CompressionMode.Compress);
BinaryWriter fs = new BinaryWriter(cmp);
fs.Write((Int32)(positionCnt * stationCnt));
for (int p = 0; p < positionCnt; p++)
{
    for (int s = 0; s < stationCnt; s++)
    {
       fs.Write(BoundData[p, s]);
    }
}
fs.Close();
7
задан danatel 28 September 2011 в 19:51
поделиться