0
저는 압축 및 압축 해제를 위해 GZipStream을 사용하여 거의 700 개의 열과 I, m을 포함하는 방대한 대형 데이터 세트를 보유하고 있습니다. 압축은 잘 작동하고 압축 후 데이터 세트의 크기는 거의 40MB이지만 압축 해제 중 ""시스템에서 "시스템 메모리 부족"이 발생합니다.GZipStream 압축 해제시 메모리 부족 예외
압축 :
public static Byte[] CompressDataSet(DataSet dataset)
{
Byte[] data;
MemoryStream mem = new MemoryStream();
GZipStream zip = new GZipStream(mem, CompressionMode.Compress);
dataset.WriteXml(zip, XmlWriteMode.WriteSchema);
zip.Close();
data = mem.ToArray();
mem.Close();
return data;
}
감압 :
public static DataSet DecompressDataSet(Byte[] data)
{
MemoryStream mem = new MemoryStream(data);
GZipStream zip = new GZipStream(mem, CompressionMode.Decompress);
DataSet dataset = new DataSet();
dataset.ReadXml(zip, XmlReadMode.ReadSchema);
zip.Close();
mem.Close();
return dataset;
}
경우 다른 압축 라이브러리를 추천하십시오 GZipStream 나는, 압축 및 압축 해제에 대한 코드 아래 사용하고 있습니다 대규모 대규모 데이터 세트에 적합하지 않습니다. 미리 감사드립니다.
위 규정 approcah 압축은 내가 당신의 질문은 동일한 방법을 사용하고 큰 메모리와 CPU – saadsaf
를 사용하여 실행에 유지로 강제로 중지해야합니다 높은 CPU 및 메모리를 사용하고 running..we 계속 기반으로, 나는 100MB 이상의 데이터로 테스트하고 괜찮 았는데. 귀하의 구현은 실제로 무엇보다도 문제가있는 이유를 압축하지 않습니다. –