@@ -10,21 +10,21 @@ namespace System.IO.Compression
1010{
1111 public class Gzip : CompressionStreamPerfTestBase
1212 {
13- public override Stream CreateStream ( Stream stream , CompressionMode mode ) => new GZipStream ( stream , mode ) ;
14- public override Stream CreateStream ( Stream stream , CompressionLevel level ) => new GZipStream ( stream , level ) ;
13+ public override Stream CreateStream ( Stream stream , CompressionMode mode , bool leaveOpen ) => new GZipStream ( stream , mode , leaveOpen ) ;
14+ public override Stream CreateStream ( Stream stream , CompressionLevel level , bool leaveOpen ) => new GZipStream ( stream , level , leaveOpen ) ;
1515 }
1616
1717 public class Deflate : CompressionStreamPerfTestBase
1818 {
19- public override Stream CreateStream ( Stream stream , CompressionMode mode ) => new DeflateStream ( stream , mode ) ;
20- public override Stream CreateStream ( Stream stream , CompressionLevel level ) => new DeflateStream ( stream , level ) ;
19+ public override Stream CreateStream ( Stream stream , CompressionMode mode , bool leaveOpen ) => new DeflateStream ( stream , mode , leaveOpen ) ;
20+ public override Stream CreateStream ( Stream stream , CompressionLevel level , bool leaveOpen ) => new DeflateStream ( stream , level , leaveOpen ) ;
2121 }
2222
2323#if NET6_0_OR_GREATER // API introduced in .NET 6
2424 public class ZLib : CompressionStreamPerfTestBase
2525 {
26- public override Stream CreateStream ( Stream stream , CompressionMode mode ) => new ZLibStream ( stream , mode ) ;
27- public override Stream CreateStream ( Stream stream , CompressionLevel level ) => new ZLibStream ( stream , level ) ;
26+ public override Stream CreateStream ( Stream stream , CompressionMode mode , bool leaveOpen ) => new ZLibStream ( stream , mode , leaveOpen ) ;
27+ public override Stream CreateStream ( Stream stream , CompressionLevel level , bool leaveOpen ) => new ZLibStream ( stream , level , leaveOpen ) ;
2828 }
2929#endif
3030
@@ -33,8 +33,8 @@ public class ZLib : CompressionStreamPerfTestBase
3333 [ BenchmarkCategory ( Categories . Libraries , Categories . NoWASM ) ]
3434 public abstract class CompressionStreamPerfTestBase
3535 {
36- public abstract Stream CreateStream ( Stream stream , CompressionMode mode ) ;
37- public abstract Stream CreateStream ( Stream stream , CompressionLevel level ) ;
36+ public abstract Stream CreateStream ( Stream stream , CompressionMode mode , bool leaveOpen = true ) ;
37+ public abstract Stream CreateStream ( Stream stream , CompressionLevel level , bool leaveOpen = true ) ;
3838
3939 [ ParamsSource ( nameof ( UncompressedTestFileNames ) ) ]
4040 public string file { get ; set ; }
@@ -59,7 +59,7 @@ public void Compress()
5959 {
6060 CompressedFile . CompressedDataStream . Position = 0 ; // all benchmarks invocation reuse the same stream, we set Postion to 0 to start at the beginning
6161
62- var compressor = CreateStream ( CompressedFile . CompressedDataStream , level ) ;
62+ using var compressor = CreateStream ( CompressedFile . CompressedDataStream , level ) ;
6363 compressor . Write ( CompressedFile . UncompressedData , 0 , CompressedFile . UncompressedData . Length ) ;
6464 }
6565
@@ -68,7 +68,7 @@ public int Decompress()
6868 {
6969 CompressedFile . CompressedDataStream . Position = 0 ;
7070
71- var compressor = CreateStream ( CompressedFile . CompressedDataStream , CompressionMode . Decompress ) ;
71+ using var compressor = CreateStream ( CompressedFile . CompressedDataStream , CompressionMode . Decompress ) ;
7272
7373 byte [ ] buffer = CompressedFile . UncompressedData ;
7474
0 commit comments