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}); }
/// <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); } }
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 }); }
/// <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); } }
/// <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); } }
/// <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; } }
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); }); }
/// <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); } }
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); }); }
/// <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); } }
/// <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); } }
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); }); }
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 }); }
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(); }); }
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); }); } }
/// <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); } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
public DatabaseInitializer(SeedTest seedTest) { _seedTest = seedTest; }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
static async Task Test_Pipe_SpeedTest_Server(int port, CancellationToken cancel) { SpeedTest test = new SpeedTest(port, cancel); await test.RunServerAsync(); }