public void Read() { var filepath = "PerformanceTest2"; var context = new StorageContext <MyDataItem>(filepath, "Name"); var item2 = new MyDataItem(); item2.Name = "awef0"; context.Add(item2); context.Dispose(); System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); watch.Start(); context = new StorageContext <MyDataItem>(filepath, "Name"); for (int i = 0; i < 1000000; i++) { var item = new MyDataItem(); item.Name = "Jack" + i; context.Add(item); } watch.Stop(); Debug.WriteLine($"总耗时:{watch.ElapsedMilliseconds}ms"); watch.Reset(); watch.Start(); var list = context.Where(m => m.Name.Contains("ack1")).ToArray(); watch.Stop(); Debug.WriteLine($"读取总耗时:{watch.ElapsedMilliseconds}ms"); System.IO.File.Delete(filepath); }
public void Read() { var filepath = "server.PerformanceTest2"; var context = new StorageContext <MyDataItem>("localhost", 8227, filepath, "Name"); context.GetType().GetMethod("DeleteFile", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(context, null); var item2 = new MyDataItem(); item2.Name = "awef0"; context.Add(item2); context.Dispose(); System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); watch.Start(); context = new StorageContext <MyDataItem>("localhost", 8227, filepath, "Name"); for (int i = 0; i < 100000; i++) { var item = new MyDataItem(); item.Name = "Jack" + i; context.Add(item); } watch.Stop(); Debug.WriteLine($"总耗时:{watch.ElapsedMilliseconds}ms"); watch.Reset(); watch.Start(); var list = context.Where(m => m.Name.Contains("ack1")).ToArray(); watch.Stop(); Debug.WriteLine($"读取总耗时:{watch.ElapsedMilliseconds}ms"); }
public void SyncAdd() { var filepath = "PerformanceTest"; var context = new StorageContext <MyDataItem>(filepath, "Name", false); var item2 = new MyDataItem(); item2.Name = "awef0"; context.Add(item2); context.Dispose(); System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); watch.Start(); context = new StorageContext <MyDataItem>(filepath, "Name"); for (int i = 0; i < 1000000; i++) { var item = new MyDataItem(); item.Name = "Jack" + i; context.Add(item); } watch.Stop(); Debug.WriteLine($"同步写入总耗时:{watch.ElapsedMilliseconds}ms"); context.Dispose(); System.IO.File.Delete(filepath); }
public void Add() { var name = "ServerTest.Add"; var context = new StorageContext <MyDataItem>("localhost", 8227, name, "Name"); context.GetType().GetMethod("DeleteFile", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(context, null); System.Threading.Tasks.Parallel.For(0, 100, (i) => { var item = new MyDataItem(); item.Name = "Jack" + i; context.Add(item); }); context.Dispose(); context = new StorageContext <MyDataItem>("localhost", 8227, name, "Name"); if (context.Count != 100) { throw new Exception("数量不对,当前数量:" + context.Count); } for (int i = 0; i < 100; i++) { if (context.Any(m => m.Name == "Jack" + i) == false) { throw new Exception("没有这个对象"); } } context.Dispose(); }
public void AddAsync() { var filepath = "server.PerformanceTest.async"; var total = 1000000; var context = new StorageContext <MyDataItem>("localhost", 8227, filepath, "Name", true); context.GetType().GetMethod("DeleteFile", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(context, null); var item2 = new MyDataItem(); item2.Name = "awef0"; context.Add(item2); context.Dispose(); context = new StorageContext <MyDataItem>("localhost", 8227, filepath, "Name", true); System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); System.Diagnostics.Stopwatch watch2 = new System.Diagnostics.Stopwatch(); watch2.Start(); watch.Start(); for (int i = 0; i < total; i++) { var item = new MyDataItem(); item.Name = "Jack" + i; context.Add(item); } watch.Stop(); Debug.WriteLine($"{total/10000}万数据写入总耗时:{watch.ElapsedMilliseconds}ms"); context.Dispose(); watch2.Stop(); Debug.WriteLine($"写入文件总耗时:{watch2.ElapsedMilliseconds}ms"); }
public void Remove() { var name = "ServerTest.Remove"; var context = new StorageContext <MyDataItem>("localhost", 8227, name, "Name"); context.GetType().GetMethod("DeleteFile", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(context, null); System.Threading.Tasks.Parallel.For(0, 100, (i) => { var item = new MyDataItem(); item.Name = "Jack" + i; context.Add(item); }); if (context.Count != 100) { throw new Exception("数量不对"); } context.Dispose(); context = new StorageContext <MyDataItem>("localhost", 8227, name, "Name"); if (context.Count != 100) { throw new Exception("数量不对"); } var datas = context.ToArray(); System.Threading.Tasks.Parallel.For(0, datas.Length, (i) => { context.Remove(datas[i]); }); context.Dispose(); context = new StorageContext <MyDataItem>("localhost", 8227, name, "Name"); if (context.Count != 0) { throw new Exception("数量不对"); } context.Dispose(); }
public void Remove() { var filepath = "Remove"; var context = new StorageContext <MyDataItem>(filepath, "Name"); System.Threading.Tasks.Parallel.For(0, 10000, (i) => { var item = new MyDataItem(); item.Name = "Jack" + i; context.Add(item); }); if (context.Count != 10000) { throw new Exception("数量不对"); } context.Dispose(); context = new StorageContext <MyDataItem>(filepath, "Name"); if (context.Count != 10000) { throw new Exception("数量不对"); } var datas = context.ToArray(); System.Threading.Tasks.Parallel.For(0, datas.Length, (i) => { context.Remove(datas[i]); }); context.Dispose(); context = new StorageContext <MyDataItem>(filepath, "Name"); if (context.Count != 0) { throw new Exception("数量不对"); } System.IO.File.Delete(filepath); }
public void Update() { var name = "ServerTest.Update"; var context = new StorageContext <MyDataItem>("localhost", 8227, name, "Name"); context.GetType().GetMethod("DeleteFile", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(context, null); System.Threading.Tasks.Parallel.For(0, 10, (i) => { var item = new MyDataItem(); item.Name = "Jack" + i; context.Add(item); }); if (context.Count != 10) { throw new Exception("数量不对"); } var obj = context.FirstOrDefault(m => m.Name == "Jack5"); obj.Company = "abc"; context.Update(obj); context.Dispose(); context = new StorageContext <MyDataItem>("localhost", 8227, name, "Name"); if (context.Count != 10) { throw new Exception("数量不对"); } obj = context.FirstOrDefault(m => m.Name == "Jack5"); if (obj.Company != "abc") { throw new Exception("数据错误"); } context.Dispose(); }
public void Update() { var filepath = "Update"; var context = new StorageContext <MyDataItem>(filepath, "Name"); System.Threading.Tasks.Parallel.For(0, 10, (i) => { var item = new MyDataItem(); item.Name = "Jack" + i; context.Add(item); }); if (context.Count != 10) { throw new Exception("数量不对"); } var obj = context.FirstOrDefault(m => m.Name == "Jack5"); obj.Company = "abc"; context.Update(obj); context.Dispose(); context = new StorageContext <MyDataItem>(filepath, "Name"); if (context.Count != 10) { throw new Exception("数量不对"); } obj = context.FirstOrDefault(m => m.Name == "Jack5"); if (obj.Company != "abc") { throw new Exception("数据错误"); } System.IO.File.Delete(filepath); }
public void Add() { var filepath = "Add"; var context = new StorageContext <MyDataItem>(filepath, "Name"); System.Threading.Tasks.Parallel.For(0, 10000, (i) => { var item = new MyDataItem(); item.Name = "Jack" + i; context.Add(item); }); if (context.Count != 10000) { throw new Exception("数量不对"); } context.Dispose(); context = new StorageContext <MyDataItem>(filepath, "Name"); if (context.Count != 10000) { throw new Exception("数量不对"); } for (int i = 0; i < 10000; i++) { if (context.Any(m => m.Name == "Jack" + i) == false) { throw new Exception("没有这个对象"); } } System.IO.File.Delete(filepath); }