public void OpenCloseDirectFiles() { var path = TestUtils.GetPath("UtilsTests"); var count = 10_000; using (Benchmark.Run("Open/Close view", count * 1_000)) { using (var directFile = new DirectFile(Path.Combine(path, "test_file.bin"), 4096, true)) { for (int i = 1; i <= count; i++) { directFile.Grow(4096 + 4096 * i); directFile.Buffer.Write <long>(4096 * i - 8, i); } } } Benchmark.Dump(); using (var directFile = new DirectFile(Path.Combine(path, "test_file.bin"), 4096, true)) { for (int i = 1; i <= count; i++) { directFile.Grow(4096 + 4096 * i); var val = directFile.Buffer.Read <long>(4096 * i - 8); Assert.AreEqual(i, val); } } }
internal void Grow(long minCapacity) { _df.Grow(DataOffset + minCapacity * ItemSize); }