/// <summary> /// Tests read from an array. /// </summary> public static void TestReadRandom(ArrayProfile profile) { using (var mapStream = new FileInfo(Global.FileName).Open( FileMode.Open, FileAccess.ReadWrite)) { using (var map = new MemoryMapStream(mapStream)) { var array = new Array <int>(map.CreateInt32(mapStream.Length / 4), profile); var size = 1000000; var perf = new PerformanceInfoConsumer( string.Format("Read Random Array: {0} {1}", size, profile.ToString()), 1000); perf.Start(); var rand = new Random(); for (var i = 0; i < size; i++) { var ran = (long)rand.Next((int)array.Length); var val = array[ran]; if (val != ran * 2) { // oeps, something went wrong here! throw new System.Exception(); } if (Global.Verbose && i % (size / 100) == 0) { perf.Report("Reading... {0}%", i, size); } } perf.Stop(); } } }
/// <summary> /// Tests read from an array. /// </summary> public static void TestRead(ArrayProfile profile) { using (var mapStream = new FileInfo(Global.FileName).Open( FileMode.Open, FileAccess.ReadWrite)) { using (var map = new MemoryMapStream(mapStream)) { var array = new Array<int>(map.CreateInt32(mapStream.Length / 4), profile); var perf = new PerformanceInfoConsumer( string.Format("Read Array: {0}", profile.ToString()), 1000); perf.Start(); for (var i = 0; i < array.Length; i++) { var val = array[i]; if (val != i * 2) { // oeps, something went wrong here! throw new System.Exception(); } if (Global.Verbose && i % (array.Length / 100) == 0) { perf.Report("Reading... {0}%", i, array.Length - 1); } } perf.Stop(); //var size = 1000000; //perf = new PerformanceInfoConsumer( // string.Format("Read Random Array: {0} {1}", size, profile.ToString()), // 1000); //perf.Start(); //var rand = new Random(); //for (var i = 0; i < size; i++) //{ // var ran = (long)rand.Next((int)array.Length); // var val = array[ran]; // if (val != ran * 2) // { // oeps, something went wrong here! // throw new System.Exception(); // } // if (Global.Verbose && i % (size / 100) == 0) // { // perf.Report("Reading... {0}%", i, size); // } //} //perf.Stop(); } } }
public void TestArraySmallerThanBuffer() { var data = new byte[16]; // room for 4 int's using (var map = new MemoryMapStream(new MemoryStream(data))) { // create a fixed-length array with one accessor. var array = new Array <int>(map.CreateInt32(4)); Assert.AreEqual(4, array.Length); array[0] = 0; array[1] = 1; array[2] = 2; array[3] = 3; Assert.AreEqual(0, array[0]); Assert.AreEqual(1, array[1]); Assert.AreEqual(2, array[2]); Assert.AreEqual(3, array[3]); } }
public void TestArraySmallerThanBuffer() { var data = new byte[16]; // room for 4 int's using(var map = new MemoryMapStream(new MemoryStream(data))) { // create a fixed-length array with one accessor. var array = new Array<int>(map.CreateInt32(4)); Assert.AreEqual(4, array.Length); array[0] = 0; array[1] = 1; array[2] = 2; array[3] = 3; Assert.AreEqual(0, array[0]); Assert.AreEqual(1, array[1]); Assert.AreEqual(2, array[2]); Assert.AreEqual(3, array[3]); } }