public void LZ4()
        {
            Joveler.Compression.LZ4.LZ4FrameCompressOptions compOpts = new Joveler.Compression.LZ4.LZ4FrameCompressOptions()
            {
                BufferSize = BufferSize,
            };

            Joveler.Compression.LZ4.LZ4FrameDecompressOptions decompOpts = new Joveler.Compression.LZ4.LZ4FrameDecompressOptions()
            {
                BufferSize = BufferSize,
            };

            byte[] xzData;
            using (MemoryStream ms = new MemoryStream())
            {
                using (MemoryStream rms = new MemoryStream(_srcData))
                    using (Joveler.Compression.LZ4.LZ4FrameStream xzs = new Joveler.Compression.LZ4.LZ4FrameStream(ms, compOpts))
                    {
                        rms.CopyTo(xzs);
                    }
                xzData = ms.ToArray();
            }

            using (MemoryStream ms = new MemoryStream())
            {
                using (MemoryStream rms = new MemoryStream(xzData))
                    using (Joveler.Compression.LZ4.LZ4FrameStream xzs = new Joveler.Compression.LZ4.LZ4FrameStream(rms, decompOpts))
                    {
                        xzs.CopyTo(ms);
                    }
            }
        }
Example #2
0
        public double LZ4_Native()
        {
            Joveler.Compression.LZ4.LZ4FrameCompressOptions compOpts = new Joveler.Compression.LZ4.LZ4FrameCompressOptions()
            {
                Level     = NativeLZ4LevelDict[Level],
                AutoFlush = false,
                LeaveOpen = true,
            };

            long compLen;

            byte[] rawData = SrcFiles[SrcFileName];
            using (MemoryStream ms = new MemoryStream())
            {
                using (MemoryStream rms = new MemoryStream(rawData))
                    using (Joveler.Compression.LZ4.LZ4FrameStream lzs = new Joveler.Compression.LZ4.LZ4FrameStream(ms, compOpts))
                    {
                        rms.CopyTo(lzs);
                    }

                ms.Flush();
                compLen = ms.Position;
            }

            CompRatio = (double)compLen / rawData.Length;
            return(CompRatio);
        }