コード例 #1
0
		private void progressListener(SpeedTest.SpeedTest sender, float progress) {
			if (Dispatcher.CheckAccess()) {
				downBar.Value = progress;
				infoBlk.Text = progress + " %";
				TaskbarItemInfo.ProgressValue = progress/100;
				TaskbarItemInfo.Description = infoBlk.Text;
			}
			else
				Dispatcher.Invoke(bytesLoadListener, new object[]{sender, progress});
		}
コード例 #2
0
 /// <summary>
 /// LINQ删除
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult LINQ_Delete(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new SpeedDataContext())
             {
                 var speed = db.Speed.Where(o => o.ID > 1);
                 db.Speed.DeleteAllOnSubmit(speed);
                 db.SubmitChanges();
             }
         }
         return(sp.Result);
     }
 }
コード例 #3
0
		private void progressProcesser(SpeedTest.SpeedTest sender, float progress) {
			Contract.Requires(sender != null);
			Contract.Requires(!float.IsNaN(progress));
			if (Dispatcher.CheckAccess()) {
				switch (sender.stage) {
					case SpeedTest.SpeedTest.Stage.UPLOAD:
						uploadProgress.Value = progress;
					break;
					case SpeedTest.SpeedTest.Stage.DOWNLOAD:
						downloadProgress.Value = progress;
					break;
				}
				TaskbarItemInfo.ProgressValue = (uploadProgress.Value + downloadProgress.Value) / 2;
				TaskbarItemInfo.Description = (uploadProgress.Value + downloadProgress.Value) / 2 + " %";
			} else
				Dispatcher.Invoke(progressListener, new object[] { sender, progress });
		}
コード例 #4
0
 /// <summary>
 /// ADO删除
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult Ado_Delete(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             var conn = new SqlConnection(connString);
             var com  = conn.CreateCommand();
             com.CommandText = "Delete from [Speed]  Where ID  > 1;";
             conn.Open();
             com.ExecuteNonQuery();
             conn.Close();
             conn.Dispose();
         }
         return(sp.Result);
     }
 }
コード例 #5
0
 /// <summary>
 /// ADO修改
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult Ado_Update(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             var conn = new SqlConnection(connString);
             var com  = conn.CreateCommand();
             com.CommandText = "update [Speed] set [UserName] = 'xxxx',[PassWord] = 'yyyy',[GenderType] = 0,[LoginCount] = 1,[LoginIP] = '127.0.0.1',[RoleID] = 3;";
             conn.Open();
             com.ExecuteNonQuery();
             conn.Close();
             conn.Dispose();
         }
         return(sp.Result);
     }
 }
コード例 #6
0
 /// <summary>
 /// ADO插入
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult Ado_Insert(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             var conn = new SqlConnection(connString);
             var com = conn.CreateCommand();
             com.CommandText = "INSERT INTO [Speed] ([UserName],[PassWord],[GenderType],[LoginCount],[LoginIP],[RoleID]) VALUES ('xxxx','yyyy',0,1,'127.0.0.1',3);";
             conn.Open();
             com.ExecuteNonQuery();
             conn.Close();
             conn.Dispose();
         }
         return sp.Result;
     }
 }
コード例 #7
0
        static void TestGetValueCache(int count = 1000000)
        {
            var user         = new UserVO();
            var propertyInfo = user.GetType().GetProperty("UserName");

            SpeedTest.ConsoleTime("手动取值", count, () =>
            {
                var a = user.UserName;
            });
            SpeedTest.ConsoleTime("表达式树取值", count, () =>
            {
                var a = PropertyGetCacheManger.Cache(propertyInfo, user);
            });
            SpeedTest.ConsoleTime("反射取值", count, () =>
            {
                var a = propertyInfo.GetValue(user, null);
            });
        }
コード例 #8
0
 /// <summary>
 /// ADO插入
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult Ado_Insert(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             var conn = new SqlConnection(connString);
             var com  = conn.CreateCommand();
             com.CommandText = "INSERT INTO [Speed] ([UserName],[PassWord],[GenderType],[LoginCount],[LoginIP],[RoleID]) VALUES ('xxxx','yyyy',0,1,'127.0.0.1',3);";
             conn.Open();
             com.ExecuteNonQuery();
             conn.Close();
             conn.Dispose();
         }
         return(sp.Result);
     }
 }
コード例 #9
0
        static void TestSetValueCache(int count = 10000000)
        {
            var user         = new UserVO();
            var propertyInfo = user.GetType().GetProperty("UserName");

            SpeedTest.ConsoleTime("手动赋值", count, () =>
            {
                user.UserName = "******";
            });
            SpeedTest.ConsoleTime("表达式树赋值", count, () =>
            {
                PropertySetCacheManger.Cache(propertyInfo, user, "jj");
            });
            SpeedTest.ConsoleTime("反射赋值", count, () =>
            {
                propertyInfo.SetValue(user, "jj", null);
            });
        }
コード例 #10
0
 /// <summary>
 /// LINQ修改
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult LINQ_Update(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new SpeedDataContext())
             {
                 foreach (var item in db.Speed.Where(o => o.ID > 1))
                 {
                     item.UserName = "******"; item.PassWord = "******"; item.GenderType = 0; item.LoginCount = 0; item.LoginIP = "127.0.0.1"; item.RoleID = 3;
                 }
                 db.SubmitChanges();
             }
         }
         return(sp.Result);
     }
 }
コード例 #11
0
 /// <summary>
 /// LINQ插入
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult LINQ_Insert(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new SpeedDataContext())
             {
                 db.Speed.InsertOnSubmit(new FS.Model.LINQ.Speed()
                 {
                     UserName = "******", PassWord = "******", GenderType = 0, LoginCount = 0, LoginIP = "127.0.0.1", RoleID = 3
                 });
                 db.SubmitChanges();
             }
         }
         return(sp.Result);
     }
 }
コード例 #12
0
        static void TestTableInstance(int count = 10000)
        {
            var tableType = typeof(Table);

            var type = typeof(TableSet <UserVO>);

            SpeedTest.ConsoleTime("手动创建", count, () =>
            {
                var table = new Table();
            });
            SpeedTest.ConsoleTime("表达式树创建", count, () =>
            {
                var table = (Table)InstanceCacheManger.Cache(tableType);
            });
            SpeedTest.ConsoleTime("反射创建", count, () =>
            {
                var table = (Table)Activator.CreateInstance(tableType);
            });
        }
コード例 #13
0
		private void successProcesser(SpeedTest.SpeedTest sender, float speed){
			Contract.Requires(sender != null);
			Contract.Requires(!float.IsNaN(speed));
			//var hRSpeed = SpeedTest.SpeedTest.speedToHumanReadable(speed, 1000, "");
			var hRSpeed = SpeedTest.SpeedTest.speedToHumanReadable(speed);
			if (Dispatcher.CheckAccess()) {
				switch (sender.stage) {
					case SpeedTest.SpeedTest.Stage.DOWNLOAD:
						downloadSpeedLbl.Content = hRSpeed;
                    break;
					case SpeedTest.SpeedTest.Stage.UPLOAD:
						startTestBtn.IsEnabled = true;
						uploadSpeedLbl.Content = hRSpeed;
                        TaskbarItemInfo.Description = uploadSpeedLbl.Content + Environment.NewLine + downloadSpeedLbl.Content;
						TaskbarItemInfo.ProgressState=TaskbarItemProgressState.None;
					break;
					
				}
			} else
				Dispatcher.Invoke(successListener, new object[] { sender, speed });
		}
コード例 #14
0
ファイル: Program.cs プロジェクト: zhangjian0376/Farseer.Net
        static void TestTableInstance(int count = 1000000)
        {
            var table = new Table();
            var type  = typeof(TableSet <UserVO>);

            SpeedTest.ConsoleTime("手动创建", count, () =>
            {
                var User = new TableSet <UserVO>(table, "User");
                //table.Dispose();
            });
            SpeedTest.ConsoleTime("表达式树创建", count, () =>
            {
                var po = (TableSet <UserVO>)CacheManger.CreateInstance(type, table, "User");
                //table.Dispose();
                //Expressions.CreateInstance(type);
            });
            SpeedTest.ConsoleTime("反射创建", count, () =>
            {
                var po = (TableSet <UserVO>)Activator.CreateInstance(type, table, "User");
                //table.Dispose();
            });
        }
コード例 #15
0
        public static void Tests()
        {
            Init();
            AddData();

            var mapData = ConvertHelper.DataTableToDictionary(dt);

            for (int i = 0; i < 5; i++)
            {
                //ConvertDataTable();
                //SpeedTest.ConsoleTime("手动实现转换:DataTable转实体", 1, ConvertDataTable);
                //ExpressionConvertDataTable();
                //SpeedTest.ConsoleTime("表达式树委托:DataTable转实体", 1, ExpressionConvertDataTable);
                //AutoConvertDataTable();
                //SpeedTest.ConsoleTime("动态编译转换:DataTable转实体", 1, AutoConvertDataTable);
                //Context.Data.QuoteExpression.ToList(50000);
                //SpeedTest.ConsoleTime("动态编译转换:DataTable转实体", 50000, () => Context.Data.QuoteExpression.ToList(50000));

                ConvertHelper.ConvertType(0, 0);
                SpeedTest.ConsoleTime("动态编译转换:DataTable转实体", 1000000, () =>
                                      { ConvertHelper.ConvertType(0, 0); });
            }
        }
コード例 #16
0
    /// <summary>
    /// ADO查询
    /// </summary>
    /// <returns></returns>
    SpeedTest.SpeedResult Ado_Select(int count)
    {
        using (var sp = new SpeedTest().Begin())
        {
            // 循环10万次
            for (int i = 0; i < count; i++)
            {
                var conn = new SqlConnection(connString);
                var com  = conn.CreateCommand();
                com.CommandText = "Select * from [Speed] Where ID  > 1;";
                conn.Open();

                SqlDataAdapter ada = new SqlDataAdapter(connString, conn);
                ada.SelectCommand = com;

                var ds = new DataSet();
                ada.Fill(ds);

                conn.Close();
                conn.Dispose();
            }
            return(sp.Result);
        }
    }
コード例 #17
0
 /// <summary>
 /// DbExecutor删除
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult DbExecutor_Delete(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new DbExecutor(DataBaseType.SqlServer, connString, 60))
             {
                 db.ExecuteNonQuery(CommandType.Text, "Delete from [Speed]  Where ID  > 1;");
             }
         }
         return sp.Result;
     }
 }
コード例 #18
0
 /// <summary>
 /// ADO删除
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult Ado_Delete(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             var conn = new SqlConnection(connString);
             var com = conn.CreateCommand();
             com.CommandText = "Delete from [Speed]  Where ID  > 1;";
             conn.Open();
             com.ExecuteNonQuery();
             conn.Close();
             conn.Dispose();
         }
         return sp.Result;
     }
 }
コード例 #19
0
 /// <summary>
 /// LINQ查询
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult LINQ_SelectList(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new SpeedDataContext())
             {
                 db.Speed.Where(o => o.ID > 1).ToList();
             }
         }
         return sp.Result;
     }
 }
コード例 #20
0
 /// <summary>
 /// DbExecutor查询
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult DbExecutor_Select(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new DbExecutor(DataBaseType.SqlServer, connString, 60))
             {
                 db.GetDataSet(CommandType.Text, "Select * from [Speed] Where ID  > 1");
             }
         }
         return sp.Result;
     }
 }
コード例 #21
0
    /// <summary>
    /// ADO查询
    /// </summary>
    /// <returns></returns>
    SpeedTest.SpeedResult Ado_Select(int count)
    {
        using (var sp = new SpeedTest().Begin())
        {
            // 循环10万次
            for (int i = 0; i < count; i++)
            {
                var conn = new SqlConnection(connString);
                var com = conn.CreateCommand();
                com.CommandText = "Select * from [Speed] Where ID  > 1;";
                conn.Open();

                SqlDataAdapter ada = new SqlDataAdapter(connString, conn);
                ada.SelectCommand = com;

                var ds = new DataSet();
                ada.Fill(ds);

                conn.Close();
                conn.Dispose();
            }
            return sp.Result;
        }
    }
コード例 #22
0
 /// <summary>
 /// ORM修改
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult ORM_Update(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             new SpeedDB { UserName = "******", PassWord = "******", GenderType = 0, LoginCount = 0, LoginIP = "127.0.0.1", RoleID = 3 }.Update();
         }
         return sp.Result;
     }
 }
コード例 #23
0
 /// <summary>
 /// DbExecutor修改
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult DbExecutor_Update(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new DbExecutor(DataBaseType.SqlServer, connString, 60))
             {
                 db.ExecuteNonQuery(CommandType.Text, "update [Speed] set [UserName] = 'xxxx',[PassWord] = 'yyyy',[GenderType] = 0,[LoginCount] = 1,[LoginIP] = '127.0.0.1',[RoleID] = 3");
             }
         }
         return sp.Result;
     }
 }
コード例 #24
0
 /// <summary>
 /// ADO修改
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult Ado_Update(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             var conn = new SqlConnection(connString);
             var com = conn.CreateCommand();
             com.CommandText = "update [Speed] set [UserName] = 'xxxx',[PassWord] = 'yyyy',[GenderType] = 0,[LoginCount] = 1,[LoginIP] = '127.0.0.1',[RoleID] = 3;";
             conn.Open();
             com.ExecuteNonQuery();
             conn.Close();
             conn.Dispose();
         }
         return sp.Result;
     }
 }
コード例 #25
0
 /// <summary>
 /// LINQ插入
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult LINQ_Insert(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new SpeedDataContext())
             {
                 db.Speed.InsertOnSubmit(new FS.Model.LINQ.Speed() { UserName = "******", PassWord = "******", GenderType = 0, LoginCount = 0, LoginIP = "127.0.0.1", RoleID = 3 });
                 db.SubmitChanges();
             }
         }
         return sp.Result;
     }
 }
コード例 #26
0
 public DatabaseInitializer(SeedTest seedTest)
 {
     _seedTest = seedTest;
 }
コード例 #27
0
 /// <summary>
 /// LINQ删除
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult LINQ_Delete(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new SpeedDataContext())
             {
                 var speed = db.Speed.Where(o => o.ID > 1);
                 db.Speed.DeleteAllOnSubmit(speed);
                 db.SubmitChanges();
             }
         }
         return sp.Result;
     }
 }
コード例 #28
0
 /// <summary>
 /// ORM删除
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult ORM_Delete(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             SpeedDB.Data.Where(o => o.ID > 1).Delete();
         }
         return sp.Result;
     }
 }
コード例 #29
0
 /// <summary>
 /// LINQ修改
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult LINQ_Update(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new SpeedDataContext())
             {
                 foreach (var item in db.Speed.Where(o => o.ID > 1))
                 {
                     item.UserName = "******"; item.PassWord = "******"; item.GenderType = 0; item.LoginCount = 0; item.LoginIP = "127.0.0.1"; item.RoleID = 3;
                 }
                 db.SubmitChanges();
             }
         }
         return sp.Result;
     }
 }
コード例 #30
0
 /// <summary>
 /// DbExecutor插入
 /// </summary>
 /// <returns></returns>
 SpeedTest.SpeedResult DbExecutor_Insert(int count)
 {
     using (var sp = new SpeedTest().Begin())
     {
         // 循环10万次
         for (int i = 0; i < count; i++)
         {
             using (var db = new DbExecutor(DataBaseType.SqlServer, connString, 60))
             {
                 db.ExecuteNonQuery(CommandType.Text, "INSERT INTO [Speed] ([UserName],[PassWord],[GenderType],[LoginCount],[LoginIP],[RoleID]) VALUES ('xxxx','yyyy',0,1,'127.0.0.1',3);");
             }
         }
         return sp.Result;
     }
 }
コード例 #31
0
        static async Task Test_Pipe_SpeedTest_Server(int port, CancellationToken cancel)
        {
            SpeedTest test = new SpeedTest(port, cancel);

            await test.RunServerAsync();
        }