public void TableQuerySpeedTest() { var table = new TestDataTable(); // 生成 300 个数据项 for (var i = 0; i < 300; i++) { table.Add(new TestDataItem { Name = string.Format("名字:{0}", i), Age = i }); } var stopWatch = new Stopwatch(); stopWatch.Start(); // 查询 10000 次 for (var i = 0; i < 10000; i++) { foreach (var testDataItem in table.Get(item => item.Age == 150 && item.Name == "名字:150")) { } } var oldTime = stopWatch.ElapsedMilliseconds; UnityEngine.Debug.Log(oldTime); // 追加代码 stopWatch.Reset(); stopWatch.Start(); // 查询 10000 次 for (var i = 0; i < 10000; i++) { foreach (var testDataItem in table.AgeIndex.Get(150).Where(item => item.Name == "名字:150")) { } } var newTime = stopWatch.ElapsedMilliseconds; UnityEngine.Debug.Log(newTime); // ? }
public void TableAddGetTest() { var table = new TestDataTable(); for (var i = 0; i < 10; i++) { table.Add(new TestDataItem() { Name = "名字" + i, Age = i }); } var result = table.Get(item => item.Age < 5); Assert.AreEqual(5, result.Count()); }