Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
 internal void Grow(long minCapacity)
 {
     _df.Grow(DataOffset + minCapacity * ItemSize);
 }