Ejemplo n.º 1
0
        public void AReadPBAndDTOAndValidate()
        {
            DateTime start   = DateTime.Now;
            DateTime current = start;
            TimeSpan elapsed;

            using FileStream input = File.OpenRead(ProtobufFile);
            Int32    i        = 0;
            PBReader pbReader = new PBReader(input);

            NativeMethods.PreventSleep();
            foreach (IComponent component in this.ReadConcepts())
            {
                PBTinkarMsg pbMsg = pbReader.Read();
                IComponent  dto   = ConvertPBToDTO.Convert(pbMsg);
                Assert.True(component.CompareTo(dto) == 0);
                if ((i % BlockSize) == 0)
                {
                    elapsed = DateTime.Now - current;
                    current = DateTime.Now;
                    float itemsPerSec = (float)BlockSize / (float)elapsed.TotalSeconds;
                    Trace.WriteLine($"{i} - Read time {elapsed.TotalSeconds} / {itemsPerSec.ToString("F2")}");
                    GC.Collect(2, GCCollectionMode.Forced);
                }
                i += 1;
            }
            Assert.True(pbReader.Read() == null);

            elapsed = DateTime.Now - start;
            NativeMethods.AllowSleep();
            Trace.WriteLine($"AProtobufReadConcepts time {elapsed}");
        }
Ejemplo n.º 2
0
        public void AReadPB()
        {
            DateTime start   = DateTime.Now;
            DateTime current = start;
            TimeSpan elapsed;

            using FileStream input = File.OpenRead(ProtobufFile);
            PBReader pbReader = new PBReader(input);

            NativeMethods.PreventSleep();

            Int32 i = 0;

            while (pbReader.Read() != null)
            {
                if ((i % BlockSize) == 0)
                {
                    elapsed = DateTime.Now - current;
                    current = DateTime.Now;
                    float itemsPerSec = (float)BlockSize / (float)elapsed.TotalSeconds;
                    Trace.WriteLine($"{i} - Read time {elapsed.TotalSeconds} / {itemsPerSec.ToString("F2")}");
                    GC.Collect(2, GCCollectionMode.Forced);
                }
                i += 1;
            }

            elapsed = DateTime.Now - start;
            NativeMethods.AllowSleep();
            Trace.WriteLine($"AProtobufReadConcepts time {elapsed}");
        }