Exemple #1
0
        public void TestMultiGet()
        {
            const int numValues = 500000;

            Scheduler.WaitFor(WriteLotsOfValuesInBatch(Tangle, numValues, -1));

            var keys = new List <int>();

            for (int i = 0; i < numValues; i += 2)
            {
                keys.Add(i);
            }

            long    startTime      = Time.Ticks;
            var     fMultiGet      = Tangle.Select(keys);
            var     results        = Scheduler.WaitFor(fMultiGet);
            decimal elapsedSeconds = (decimal)(Time.Ticks - startTime) / Time.SecondInTicks;

            Console.WriteLine(
                "Fetched {0} values in ~{1:00.000} second(s) at ~{2:00000.00} values/sec.",
                keys.Count, elapsedSeconds, keys.Count / elapsedSeconds
                );

            Assert.AreEqual(keys.Count, results.Count());

            Assert.AreEqual(
                keys.OrderBy((k) => k).ToArray(),
                results.ToArray()
                );
        }