diff --git a/src/coverlet.core/CoverageTracker.cs b/src/coverlet.core/CoverageTracker.cs index d45ad6dae..0ff0b4a69 100644 --- a/src/coverlet.core/CoverageTracker.cs +++ b/src/coverlet.core/CoverageTracker.cs @@ -25,13 +25,18 @@ public static void MarkExecuted(string path, string marker) { _markers.TryAdd(path, new List()); _markers[path].Add(marker); + if (_markers[path].Count >= 100000) + { + File.AppendAllLines(path, _markers[path]); + _markers[path].Clear(); + } } } public static void CurrentDomain_ProcessExit(object sender, EventArgs e) { foreach (var kvp in _markers) - File.WriteAllLines(kvp.Key, kvp.Value); + File.AppendAllLines(kvp.Key, kvp.Value); } } } \ No newline at end of file