public static async Task ReplaceAsync(bool parallel) { var mongoDriver2 = new MongoDbDriver( ConfigurationManager.ConnectionStrings["MongoDb"].ConnectionString, "User2"); var timer = new Stopwatch(); timer.Start(); var tasks = Enumerable.Range(0, 128).Select(async i => { var uids = await LoadUids(mongoDriver2.Collection, i); foreach (var uid in uids) { var user = await mongoDriver2.LoadUserAsync(uid); await mongoDriver2.ReplaceUserAsync(uid, user); } return(uids.Count); }); var totalCount = await WaitForComplete(tasks, parallel); var elapsed = timer.Elapsed.TotalSeconds; var rowPerSec = totalCount / timer.Elapsed.TotalSeconds; Console.WriteLine($"Elapsed: {(int)elapsed}s RowPerSec: {(int)rowPerSec}"); }
public static async Task ReplaceAsync(bool parallel) { var mongoDriver2 = new MongoDbDriver( ConfigurationManager.ConnectionStrings["MongoDb"].ConnectionString, "User2"); var timer = new Stopwatch(); timer.Start(); var tasks = Enumerable.Range(0, 128).Select(async i => { var uids = await LoadUids(mongoDriver2.Collection, i); foreach (var uid in uids) { var user = await mongoDriver2.LoadUserAsync(uid); await mongoDriver2.ReplaceUserAsync(uid, user); } return uids.Count; }); var totalCount = await WaitForComplete(tasks, parallel); var elapsed = timer.Elapsed.TotalSeconds; var rowPerSec = totalCount / timer.Elapsed.TotalSeconds; Console.WriteLine($"Elapsed: {(int)elapsed}s RowPerSec: {(int)rowPerSec}"); }