예제 #1
0
        private RoundTripPerformance MakeBltRoundTrip(LNode[] Nodes)
        {
            using (var memStream = new MemoryStream())
            {
                var timer = new Stopwatch();
                timer.Start();

                var writer = new LoycBinaryWriter(memStream);

                for (int i = 0; i < TimedRoundTripCount; i++)
                {
                    writer.WriteFile(Nodes);
                    memStream.Seek(0, SeekOrigin.Begin);
                }

                timer.Stop();
                var  writePerf = timer.Elapsed;
                long size      = memStream.Length;
                timer.Restart();

                for (int i = 0; i < TimedRoundTripCount; i++)
                {
                    var reader = new LoycBinaryReader(memStream);
                    reader.ReadFile("test.blt");
                    memStream.Seek(0, SeekOrigin.Begin);
                }

                timer.Stop();
                var readPerf = timer.Elapsed;

                return(new RoundTripPerformance(readPerf, writePerf, size));
            }
        }
예제 #2
0
        private RoundTripPerformance MakeBltRoundTrip(LNode[] Nodes)
        {
            using (var memStream = new MemoryStream())
            {
                var timer = new Stopwatch();
                timer.Start();

                var writer = new LoycBinaryWriter(memStream);

                for (int i = 0; i < TimedRoundTripCount; i++)
                {
                    writer.WriteFile(Nodes);
                    memStream.Seek(0, SeekOrigin.Begin);
                }

                timer.Stop();
                var writePerf = timer.Elapsed;
                long size = memStream.Length;
                timer.Restart();

                for (int i = 0; i < TimedRoundTripCount; i++)
                {
                    var reader = new LoycBinaryReader(memStream);
                    reader.ReadFile("test.blt");
                    memStream.Seek(0, SeekOrigin.Begin);
                }

                timer.Stop();
                var readPerf = timer.Elapsed;

                return new RoundTripPerformance(readPerf, writePerf, size);
            }
        }
예제 #3
0
 /// <summary>
 /// Writes a binary loyc tree file that contains the given list of nodes to the given output stream.
 /// </summary>
 /// <param name="OutputStream"></param>
 /// <param name="Nodes"></param>
 public static void WriteFile(Stream OutputStream, IReadOnlyList<LNode> Nodes)
 {
     using (var writer = new LoycBinaryWriter(OutputStream))
     {
         writer.WriteFile(Nodes);
     }
 }
예제 #4
0
 private IReadOnlyList<LNode> PerformRoundTrip(IReadOnlyList<LNode> Nodes)
 {
     using (var memStream = new MemoryStream())
     {
         var writer = new LoycBinaryWriter(memStream);
         writer.WriteFile(Nodes);
         memStream.Seek(0, SeekOrigin.Begin);
         var reader = new LoycBinaryReader(memStream);
         return reader.ReadFile("test.blt");
     }
 }
예제 #5
0
 private IReadOnlyList <LNode> PerformRoundTrip(IReadOnlyList <LNode> Nodes)
 {
     using (var memStream = new MemoryStream())
     {
         var writer = new LoycBinaryWriter(memStream);
         writer.WriteFile(Nodes);
         memStream.Seek(0, SeekOrigin.Begin);
         var reader = new LoycBinaryReader(memStream);
         return(reader.ReadFile("test.blt"));
     }
 }
예제 #6
0
 /// <summary>
 /// Writes this node template's data to the given writer.
 /// </summary>
 /// <param name="Writer"></param>
 public abstract void Write(LoycBinaryWriter Writer);
예제 #7
0
 /// <summary>
 /// Writes a call node template definition.
 /// </summary>
 /// <param name="Writer"></param>
 public override void Write(LoycBinaryWriter Writer)
 {
     Writer.Writer.Write(TargetSymbolIndex);
     Writer.WriteList(ArgumentTypes, Writer.WriteEncodingType);
 }
예제 #8
0
 /// <summary>
 /// Writes a call node template definition.
 /// </summary>
 /// <param name="Writer"></param>
 public override void Write(LoycBinaryWriter Writer)
 {
     Writer.WriteList(ArgumentTypes, Writer.WriteEncodingType);
 }