private void RemoveHalfOfIntervals(IIntervalContainer <DateTime> intervalContainer, List <Interval <DateTime> > intervals) { stopwatch.Reset(); long initalMemory = GC.GetTotalMemory(true); stopwatch.Start(); //remove second part of intervals int halfNumberOfIntervals = intervals.Count / 2; for (int i = 0; i < halfNumberOfIntervals; i++) { intervalContainer.Remove(intervals[halfNumberOfIntervals + i]); } stopwatch.Stop(); long endRemoveIntervalsMemory = GC.GetTotalMemory(true); long bytesUsed = endRemoveIntervalsMemory - initalMemory; timeEllapsedReport.AppendLine(); timeEllapsedReport.AppendLine(string.Format("Time taken for removing {0} intervals: {1} ms", halfNumberOfIntervals, stopwatch.ElapsedMilliseconds)); timeEllapsedReport.AppendLine(string.Format("Memory used for removing {0} intervals: {1:0.00} MB", halfNumberOfIntervals, BytesToMegabytes(bytesUsed))); timeEllapsedReport.AppendLine(); }
private void RemoveHalfOfIntervals(IIntervalContainer<DateTime> intervalContainer, List<Interval<DateTime>> intervals) { stopwatch.Reset(); long initalMemory = GC.GetTotalMemory(true); stopwatch.Start(); //remove second part of intervals int halfNumberOfIntervals = intervals.Count / 2; for (int i = 0; i < halfNumberOfIntervals; i++) { intervalContainer.Remove(intervals[halfNumberOfIntervals + i]); } stopwatch.Stop(); long endRemoveIntervalsMemory = GC.GetTotalMemory(true); long bytesUsed = endRemoveIntervalsMemory - initalMemory; timeEllapsedReport.AppendLine(); timeEllapsedReport.AppendLine(string.Format("Time taken for removing {0} intervals: {1} ms", halfNumberOfIntervals, stopwatch.ElapsedMilliseconds)); timeEllapsedReport.AppendLine(string.Format("Memory used for removing {0} intervals: {1:0.00} MB", halfNumberOfIntervals, BytesToMegabytes(bytesUsed))); timeEllapsedReport.AppendLine(); }