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);
                    }
            }
        }
        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);
        }
Beispiel #3
0
        public long LZ4_Native()
        {
            Joveler.Compression.LZ4.LZ4FrameDecompressOptions decompOpts = new Joveler.Compression.LZ4.LZ4FrameDecompressOptions();

            byte[] compData = SrcFiles[$"{Level}_{SrcFileName}.lz4"];
            using MemoryStream ms = new MemoryStream();
            using (MemoryStream rms = new MemoryStream(compData))
                using (Joveler.Compression.LZ4.LZ4FrameStream zs = new Joveler.Compression.LZ4.LZ4FrameStream(rms, decompOpts))
                {
                    zs.CopyTo(ms);
                }

            ms.Flush();
            return(ms.Length);
        }