Esempio n. 1
0
        public void Performance()
        {
            window_ = new WindowedStream(0x150000);

            outStream_ = new BZip2OutputStream(window_, 1);

            const long Target = 0x10000000;

            readTarget_ = writeTarget_ = Target;

            Thread reader = new Thread(Reader);

            reader.Name = "Reader";

            Thread writer = new Thread(Writer);

            writer.Name = "Writer";

            DateTime startTime = DateTime.Now;

            writer.Start();

            inStream_ = new BZip2InputStream(window_);

            reader.Start();

            Assert.IsTrue(writer.Join((int)TimeSpan.FromMinutes(5.0D).TotalMilliseconds));
            Assert.IsTrue(reader.Join((int)TimeSpan.FromMinutes(5.0D).TotalMilliseconds));

            DateTime endTime = DateTime.Now;
            TimeSpan span    = endTime - startTime;

            Console.WriteLine("Time {0} throughput {1} KB/Sec", span, (Target / 1024) / span.TotalSeconds);
        }
Esempio n. 2
0
        public void BigStream()
        {
            window_    = new WindowedStream(0x3ffff);
            outStream_ = new GZipOutputStream(window_);
            inStream_  = new GZipInputStream(window_);

            long target = 0x10000000;

            readTarget_ = writeTarget_ = target;

            Thread reader = new Thread(Reader);

            reader.Name = "Reader";
            reader.Start();

            Thread writer = new Thread(Writer);

            writer.Name = "Writer";

            DateTime startTime = DateTime.Now;

            writer.Start();

            writer.Join();
            reader.Join();

            DateTime endTime = DateTime.Now;

            TimeSpan span = endTime - startTime;

            Console.WriteLine("Time {0}  processes {1} KB/Sec", span, (target / 1024) / span.TotalSeconds);
        }
Esempio n. 3
0
        public void Performance()
        {
            window_ = new WindowedStream(0x150000);

            outStream_ = new BZip2OutputStream(window_, 1);

            long target = 0x10000000;

            readTarget_ = writeTarget_ = target;

            Thread reader = new Thread(Reader);

            reader.Name = "Reader";

            Thread writer = new Thread(Writer);

            writer.Name = "Writer";

            DateTime startTime = DateTime.Now;

            writer.Start();

            inStream_ = new BZip2InputStream(window_);

            reader.Start();

            writer.Join();
            reader.Join();

            DateTime endTime = DateTime.Now;
            TimeSpan span    = endTime - startTime;

            Console.WriteLine("Time {0} throughput {1} KB/Sec", span, (target / 1024) / span.TotalSeconds);
        }
        private Stream OpenDataPageStream(Thrift.PageHeader pageHeader)
        {
            var window = new WindowedStream(_inputStream, pageHeader.Compressed_page_size);

            Stream uncompressed = DataStreamFactory.CreateReader(window, _thriftColumnChunk.Meta_data.Codec, pageHeader.Uncompressed_page_size);

            return(uncompressed);
        }
        public UnalignedRecordReader(IBinaryStorageFile fileReader, int recordSize, Stream recordData, IntPtr stagingDataPointer)
        {
            _fileReader = fileReader;
            _recordSize = recordSize;

            _recordData    = stagingDataPointer;
            _managePointer = false;

            using (var windowedStream = new WindowedStream(recordData, recordSize))
                using (var outputStream = new IO.UnmanagedMemoryStream(stagingDataPointer, recordSize))
                    windowedStream.CopyTo(outputStream, recordSize);
        }
        public UnalignedRecordReader(IBinaryStorageFile fileReader, int recordSize, Stream recordData)
        {
            _fileReader = fileReader;
            _recordSize = recordSize;

            // Allocating 7 extra bytes to guarantee we don't ever read out of our memory space
            // _recordData = Marshal.AllocHGlobal(recordData.Length + 7);
            _recordData    = Marshal.AllocHGlobal(recordSize);
            _managePointer = true;

            using (var windowedStream = new WindowedStream(recordData, recordSize))
                using (var outputStream = new IO.UnmanagedMemoryStream(_recordData, recordSize))
                    windowedStream.CopyTo(outputStream, recordSize);

            _bitCursor = 0;
        }