optimize<User>: reduce memory used by commit's author/committer data

This commit is contained in:
leo 2023-10-10 11:25:57 +08:00
parent d9afb798db
commit 766f24f4b0
14 changed files with 91 additions and 41 deletions

View file

@ -58,6 +58,7 @@ namespace SourceGit.Views {
var weekStart = today.AddSeconds(-(int)today.DayOfWeek * 3600 * 24 - today.Hour * 3600 - today.Minute * 60 - today.Second);
var weekEnd = weekStart.AddDays(7);
var month = today.Month;
var utcStart = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).ToLocalTime();
var limits = $"--branches --remotes --since=\"{today.ToString("yyyy-01-01 00:00:00")}\"";
var commits = new Commands.Commits(repo, limits).Result();
@ -65,7 +66,7 @@ namespace SourceGit.Views {
var totalCommitsMonth = 0;
var totalCommitsYear = commits.Count;
foreach (var c in commits) {
var commitTime = DateTime.Parse(c.Committer.Time);
var commitTime = utcStart.AddSeconds(c.CommitterTime);
if (commitTime.CompareTo(weekStart) >= 0 && commitTime.CompareTo(weekEnd) < 0) {
mapsWeek[(int)commitTime.DayOfWeek].Count++;
totalCommitsWeek++;