コード例 #1
0
ファイル: Program.cs プロジェクト: zhaoyingju/Jil
            public ExampleObj(Random rand)
            {
                String = RandomString(rand);
                Char   = RandomChar(rand);

                Long  = RandomLong(rand);
                Int   = RandomInt(rand);
                Short = RandomShort(rand);
                Byte  = RandomByte(rand);

                ULong  = (ulong)RandomLong(rand);
                UInt   = (uint)RandomInt(rand);
                UShort = (ushort)RandomShort(rand);
                SByte  = (sbyte)RandomByte(rand);

                List  = Enumerable.Range(0, rand.Next(10)).Select(_ => RandomString(rand)).ToList();
                Array = Enumerable.Range(0, rand.Next(10)).Select(_ => RandomString(rand)).ToArray();

                Dictionary = Enumerable.Range(0, rand.Next(10)).ToDictionary(_ => RandomString(rand), _ => RandomString(rand));

                RecurseObj = rand.Next(2) == 0 ? new ExampleObj(rand) : null;
            }
コード例 #2
0
ファイル: Program.cs プロジェクト: phatcabbage/Jil
            public ExampleObj(Random rand)
            {
                String = RandomString(rand);
                Char = RandomChar(rand);
                
                Long = RandomLong(rand);
                Int = RandomInt(rand);
                Short = RandomShort(rand);
                Byte = RandomByte(rand);

                ULong = (ulong)RandomLong(rand);
                UInt = (uint)RandomInt(rand);
                UShort = (ushort)RandomShort(rand);
                SByte = (sbyte)RandomByte(rand);

                List = Enumerable.Range(0, rand.Next(10)).Select(_ => RandomString(rand)).ToList();
                Array = Enumerable.Range(0, rand.Next(10)).Select(_ => RandomString(rand)).ToArray();

                Dictionary = Enumerable.Range(0, rand.Next(10)).ToDictionary(_ => RandomString(rand), _ => RandomString(rand));

                RecurseObj = rand.Next(2) == 0 ? new ExampleObj(rand) : null;
            }
コード例 #3
0
ファイル: Program.cs プロジェクト: zhaoyingju/Jil
        static void Main(string[] args)
        {
            var random = new Random(27291702);

            var obj = ExampleObj.RandomString(random);

            Func <string> stream =
                () =>
            {
                using (var writer = new StringWriter())
                {
                    Jil.JSON.Serialize(obj, writer);
                    return(writer.ToString());
                }
            };

            Func <string> str =
                () =>
            {
                return(Jil.JSON.Serialize(obj));
            };



            // prime
            for (var i = 0; i < 5; i++)
            {
                var streamRes = stream();
                var strRes    = str();

                if (streamRes != strRes)
                {
                    throw new Exception("Uhhhhh");
                }
            }

            const int Iterations = 1000000;

            TimeSpan streamTime;
            {
                System.GC.Collect(3, GCCollectionMode.Forced, true);
                var streamTimer = new Stopwatch();
                streamTimer.Start();
                for (var i = 0; i < Iterations; i++)
                {
                    stream();
                }
                streamTimer.Stop();
                streamTime = streamTimer.Elapsed;
            }

            TimeSpan strTime;

            {
                System.GC.Collect(3, GCCollectionMode.Forced, true);
                var strTimer = new Stopwatch();
                strTimer.Start();
                for (var i = 0; i < Iterations; i++)
                {
                    str();
                }
                strTimer.Stop();
                strTime = strTimer.Elapsed;
            }

            Console.WriteLine("Stream: " + streamTime.TotalMilliseconds + "ms");
            Console.WriteLine("String: " + strTime.TotalMilliseconds + "ms");
            Console.WriteLine();
            Console.WriteLine("Delta: " + (streamTime - strTime).TotalMilliseconds + "ms");
        }