private void RunFirstWriteThread() { const int maxIterations = 1000; DateTime dt = new DateTime(2017, 12, 31); Random rnd = new Random(); for (int idx = 0; idx < maxIterations; idx++) { UserType key1 = new UserType(dt.AddDays(-idx)); const string key2 = "Developers"; _concurentCollection.Add(key1, key2, rnd.Next(1, 15)); } }
public void LinqComparisonTest() { _thSafeCollection = new ThreadSafeCompositeKeyCollection <int, DateTime, string>(); _kvpDictionary = new Dictionary <KeyValuePair <int, DateTime>, string>(); Random rnd = new Random(); DateTime dt = DateTime.Today; string value = "Developers"; for (int idx = 0; idx < 100000; idx++) { var datetime = dt.AddDays(-idx); _kvpDictionary.Add(new KeyValuePair <int, DateTime>(idx, datetime), value); _thSafeCollection.Add(idx, datetime, value); } int key1 = 55000; DateTime key2 = DateTime.Today.AddDays(-55000); var customCollectionSearchTime = CountSearchTimeOnCustomCollection(key1, key2); var dictionaryCollectionSearchTime = CountSearchTimeOnDictionary(key1, key2); dt = new DateTime(1900, 01, 01); for (int idx = 0; idx < 100000; idx++) { var datetime = dt.AddDays(idx); value = "Managers"; _kvpDictionary.Add(new KeyValuePair <int, DateTime>(idx, datetime), value); _thSafeCollection.Add(idx, datetime, value); } var customCollectionSearchTime2 = CountSearchTimeOnCustomCollection(key1, key2); var dictionaryCollectionSearchTime2 = CountSearchTimeOnDictionary(key1, key2); dt = new DateTime(1500, 01, 01); for (int idx = 0; idx < 100000; idx++) { var datetime = dt.AddMinutes(idx); value = "Testers"; _kvpDictionary.Add(new KeyValuePair <int, DateTime>(idx, datetime), value); _thSafeCollection.Add(idx, datetime, value); } var customCollectionSearchTime3 = CountSearchTimeOnCustomCollection(key1, key2); var dictionaryCollectionSearchTime3 = CountSearchTimeOnDictionary(key1, key2); dt = new DateTime(2200, 01, 01); for (int idx = 0; idx < 100000; idx++) { var datetime = dt.AddMinutes(idx); value = "Analytics"; _kvpDictionary.Add(new KeyValuePair <int, DateTime>(idx, datetime), value); _thSafeCollection.Add(idx, datetime, value); } var customCollectionSearchTime4 = CountSearchTimeOnCustomCollection(key1, key2); var dictionaryCollectionSearchTime4 = CountSearchTimeOnDictionary(key1, key2); Debug.WriteLine("customCollectionSearchTime = {0}", customCollectionSearchTime); Debug.WriteLine("dictionaryCollectionSearchTime = {0}", dictionaryCollectionSearchTime); Debug.WriteLine("customCollectionSearchTime2 = {0}", customCollectionSearchTime2); Debug.WriteLine("dictionaryCollectionSearchTime2 = {0}", dictionaryCollectionSearchTime2); Debug.WriteLine("customCollectionSearchTime3 = {0}", customCollectionSearchTime3); Debug.WriteLine("dictionaryCollectionSearchTime3 = {0}", dictionaryCollectionSearchTime3); Debug.WriteLine("customCollectionSearchTime4 = {0}", customCollectionSearchTime4); Debug.WriteLine("dictionaryCollectionSearchTime4 = {0}", dictionaryCollectionSearchTime4); }