public void SavePrimes(string filePath, PrimeDataDto primeData) { throw new NotImplementedException(); using (FileStream fs = new FileStream(filePath, FileMode.Create)) using (StreamWriter file = new StreamWriter(fs)) { file.WriteLine($"// {this.GetType().Name}"); file.WriteLine($"// Start Number: {primeData.StartNumber}"); file.WriteLine($"// End Number: {primeData.EndNumber}"); file.WriteLine($"// Total Items : {primeData.PrimeArray.Length}"); file.WriteLine($"// Prime Count: {Utilities.CountBitArray(primeData.PrimeArray)}"); //int diffrence = 0; //for (int i = 0; i < primeData.PrimeArray.Length; i++) //{ // diffrence++; // if (primeData.PrimeArray[i]) // { // bw.Write(diffrence); // diffrence = 0; // } //} } }
public void SavePrimes(string filePath, PrimeDataDto primeData) { //for (int i = 0; i < data.Length; i++) using (StreamWriter file = new StreamWriter(filePath)) { file.WriteLine($"// {this.GetType().Name}"); file.WriteLine($"// Start Number: {primeData.StartNumber}"); file.WriteLine($"// End Number: {primeData.EndNumber}"); file.WriteLine($"// Total Items : {primeData.PrimeArray.Length}"); file.WriteLine($"// Prime Count: {Utilities.CountBitArray(primeData.PrimeArray)}"); for (int i = 0; i < primeData.PrimeArray.Length; i++) { if (primeData.PrimeArray[i]) { file.WriteLine((primeData.StartNumber + (uint)i + 1).ToString("#,##0")); //if (data[i]) //{ // ulong number = startNumber + (ulong)i; // string value = number.ToString() + Environment.NewLine; // foreach (byte b in Encoding.ASCII.GetBytes(value)) // { // savestream.WriteByte(b); // } } } } }
public void SavePrimes(string filePath, PrimeDataDto primeData) { using (StreamWriter file = new StreamWriter(filePath)) { file.WriteLine($"// {this.GetType().Name}"); file.WriteLine($"// Start Number: {primeData.StartNumber}"); file.WriteLine($"// End Number: {primeData.EndNumber}"); file.WriteLine($"// Total Items : {primeData.PrimeArray.Length}"); file.WriteLine($"// Prime Count: {Utilities.CountBitArray(primeData.PrimeArray)}"); for (int i = 0; i < primeData.PrimeArray.Length; i++) { file.Write((primeData.PrimeArray[i] ? "1" : "0")); } } }
protected static void SaveDataTest(ulong startNumber, ulong endNumber) { Console.WriteLine($"Genetating data for Saving ({startNumber}, {endNumber})"); FindPrimesBetweenV7 generator = new FindPrimesBetweenV7(); Stopwatch sw = new Stopwatch(); sw.Restart(); generator.Execute(startNumber, endNumber, new IsPrimeV7()); sw.Stop(); PrimeDataDto results = generator.Data; Console.WriteLine($"Generated data in {Utilities.ElaspedTimeFormatter(sw.Elapsed)}"); PerformanceTests.TestSavePerformance(results); }
protected static void SavePrimesTimer(ISavePrimes tester, PrimeDataDto data) { Console.Write($"{DateTime.Now.ToString()} : {tester.GetType().Name} : "); string fileName = string.Format("../saves/{0}_{1}_{2}-{3}.txt", DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss"), tester.GetType().Name, data.StartNumber, data.EndNumber); Stopwatch sw = new Stopwatch(); sw.Restart(); tester.SavePrimes(fileName, data); sw.Stop(); System.IO.FileInfo f = new System.IO.FileInfo(fileName); Console.Write($"Size : {Utilities.CalculateFileSize(f.Length)} : Speed : {Utilities.CalculateTransferSpeed(f.Length, sw.Elapsed.TotalSeconds)} : Time Taken : {PrimeNumbers.Model.Utilities.ElaspedTimeFormatter(sw.Elapsed)}"); Console.WriteLine(); }
/// <summary> /// /// </summary> /// <param name="tester"></param> /// <param name="trier"></param> /// <param name="startNumber"></param> /// <param name="endNumber"></param> /// <returns></returns> protected static PrimeDataDto FindPrimesBetweenTimer(IFindPrimesBetween tester, IIsPrime trier, ulong startNumber, ulong endNumber) { PrimeDataDto results = null; System.Diagnostics.Debug.WriteLine($"{tester.GetType().Name} : {trier.GetType().Name} : {startNumber.ToString("#,##0")} - {endNumber.ToString("#,##0")}"); Console.Write($"{DateTime.Now.ToString()} : {tester.GetType().Name} : {trier.GetType().Name} : {startNumber.ToString("#,##0")} - {endNumber.ToString("#,##0")} : "); Stopwatch sw = new Stopwatch(); sw.Restart(); tester.Execute(startNumber, endNumber, trier); sw.Stop(); results = tester.Data; //Console.WriteLine($"{DateTime.Now.ToString()} {Environment.NewLine}{tester.GetType().Name} : {trier.GetType().Name}{Environment.NewLine}{startNumber.ToString("#,##0")} - {endNumber.ToString("#,##0")}{Environment.NewLine} Time Taken : {PrimeNumbers.Model.Utilities.ElaspedTimeFormatter(sw.Elapsed)}{Environment.NewLine}Result : {result.Count.ToString("#,##0")}{Environment.NewLine}"); Console.Write($"Result = {results.PrimeNumbers.Count().ToString("#,##0")} : Time Taken : {PrimeNumbers.Model.Utilities.ElaspedTimeFormatter(sw.Elapsed)}"); Console.WriteLine(); return(results); }
/// <summary> /// /// </summary> /// <param name="data"></param> /// <param name="allowedVersionNumbers"></param> protected static void TestSavePerformance(PrimeDataDto data, int[] allowedVersionNumbers = null) { Type[] findPrimesBetweenTypes = PerformanceTests.GetTestingTypes("PrimeNumbers.Model", "PrimeDataV", allowedVersionNumbers); if ((findPrimesBetweenTypes != null) && (findPrimesBetweenTypes.Any())) { Console.WriteLine($"SavingPrimes Testing with {data.StartNumber.ToString("#,##0")} - {data.EndNumber.ToString("#,##0")}"); foreach (Type type in findPrimesBetweenTypes) { ISavePrimes savePrimesTester = (ISavePrimes)Activator.CreateInstance(type); PerformanceTests.SavePrimesTimer(savePrimesTester, data); } } else { Console.WriteLine("No FindPrimesBetween Classes found to test with"); } Console.WriteLine(); }
public void SavePrimes(string filePath, PrimeDataDto primeData) { using (StreamWriter file = new StreamWriter(filePath)) { int loopCount = 0; bool partial = false; if (primeData.PrimeArray.Count % 8 == 0) { loopCount = primeData.PrimeArray.Count / 8; } else { loopCount = (primeData.PrimeArray.Count - (primeData.PrimeArray.Count % 8)) / 8; partial = true; } file.WriteLine($"// {this.GetType().Name}"); file.WriteLine($"// Start Number: {primeData.StartNumber}"); file.WriteLine($"// End Number: {primeData.EndNumber}"); file.WriteLine($"// Total Items : {primeData.PrimeArray.Length}"); file.WriteLine($"// Prime Count: {Utilities.CountBitArray(primeData.PrimeArray)}"); for (int i = 0; i < loopCount; i++) { int index = i * 8; byte data = 0; if (primeData.PrimeArray[index]) { data += 1; } if (primeData.PrimeArray[index + 1]) { data += 2; } if (primeData.PrimeArray[index + 2]) { data += 4; } if (primeData.PrimeArray[index + 3]) { data += 8; } if (primeData.PrimeArray[index + 4]) { data += 16; } if (primeData.PrimeArray[index + 5]) { data += 32; } if (primeData.PrimeArray[index + 6]) { data += 64; } if (primeData.PrimeArray[index + 7]) { data += 128; } file.Write(data); } if (partial) { file.WriteLine(); int index = loopCount * 8; for (int i = index; i < primeData.PrimeArray.Count; i++) { file.Write((primeData.PrimeArray[i] ? "1" : "0")); } } } }