Exemple #1
0
        private static void TestDtoMapper()
        {
            //比较TinyMapper和EmitMapper的性能
            var input = new DtoFrom
            {
                Name        = "zhangsan",
                Age         = 20,
                CreatedTime = DateTime.Now
            };
            DtoTo result    = null;
            var   iteration = 10 * 10000;

            CodeTimerHelper.Initialize();

            //1,EmitMapper
            CodeTimerHelper.Time("EmitMapper性能测试(10 * 10000)", iteration, () =>
            {
                var mapper = ObjectMapperManager.DefaultInstance.GetMapper <DtoFrom, DtoTo>();
                result     = mapper.Map(input);
            });

            //2,TinyMapper
            CodeTimerHelper.Time("TinyMapper性能测试(10 * 10000)", iteration, () =>
            {
                TinyMapper.Bind <DtoFrom, DtoTo>();
                result = TinyMapper.Map <DtoTo>(input);
            });

            Console.ReadKey();
        }
Exemple #2
0
        /// <summary>
        /// 测试深克隆的性能
        /// </summary>
        private static void TestDeepClonePerf()
        {
            var iteration = 10 * 10000;

            CodeTimerHelper.Initialize();

            var input = new DtoFrom
            {
                Name        = "aaa",
                Age         = 100,
                CreatedTime = DateTime.Now
            };

            DtoFrom result = null;

            CodeTimerHelper.Time("测试深克隆的性能", iteration, () =>
            {
                result = input.DeepClone();
            });
            Console.ReadKey();
        }