Exemple #1
0
        public void TestMapReduce()
        {
            const int numValues = 100000;

            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  fReduced  = Tangle.MapReduce(
                keys,
                (key, value) => (long)(value * 2),
                (lhs, rhs) => lhs + rhs
                );
            var     reduced        = Scheduler.WaitFor(fReduced);
            decimal elapsedSeconds = (decimal)(Time.Ticks - startTime) / Time.SecondInTicks;

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