private MalTrainingData LoadTrainingDataOnInit(IMalTrainingDataLoader trainingDataLoader) { Logging.Log.Info("Loading training data."); Stopwatch timer = Stopwatch.StartNew(); MalTrainingData trainingData = trainingDataLoader.LoadMalTrainingData(); GC.Collect(); timer.Stop(); Logging.Log.InfoFormat("Training data loaded. {0} users, {1} animes, {2} entries. Took {3}.", trainingData.Users.Count, trainingData.Animes.Count, trainingData.Users.Keys.Sum(userId => trainingData.Users[userId].Entries.Count), timer.Elapsed); Logging.Log.InfoFormat("Memory use: {0} bytes", GC.GetTotalMemory(forceFullCollection: false)); return trainingData; }