8
我有這樣的2個例子:DataPointCollection清除性能
1實施例:
Series seria = new Series("name");
for(int i = 0 ; i < 100000 ; i++)
{
seria.Points.Add(new DataPoint(i, i));
}
seria.Points.Clear(); // - this line executes 7.10 seconds !!!!!!!!!!
Series
是從System.Windows.Forms.DataVisualization
DLL類
2實施例:
List<DataPoint> points = new List<DataPoint>();
for (int i = 0; i < 100000; i++)
{
points.Add(new DataPoint(i, i));
}
points.Clear(); // - this line executes 0.0001441 seconds !!!!!!!!!!
- 爲什麼這些Clear方法之間存在如此巨大的差異?
- 如何更快地清除seria.Point?
你爲什麼要'while(Points.Count> 0)...'而不是隻調用'Points.Clear()'?您已經暫停更新,所以這不成問題。 – Andrey 2011-04-21 13:55:47
我不知道Clear()的實現細節,無論是否對ResumeUpdates()或與佈局交互的其他函數有不正確的調用。所以最好避開Points.Clear()直到它被修復(因此_workaround_)。 – 2011-04-21 14:01:41
經過測試後,似乎Points.Clear()確實/ something /並且上面的工作更好 – fbstj 2015-09-23 13:07:11