コード例 #1
0
        public override void Run(int iterations)
        {
            Debug.WriteLine(InstanceNumber.ToString() + ": RunOneIteration");

            var result = Client.Pipeline(c =>
            {
                for (var i = 0; i < iterations; i++)
                {
                    c.Set(_strKey + i.ToString(), "WORLD" + i.ToString());
                }

                c.Set(_numKey, "0");
                for (var i = 1; i < iterations; i++)
                {
                    c.Incr(_numKey);
                }

                for (var i = 0; i < iterations; i++)
                {
                    c.Get(_strKey + i.ToString());
                }
            });

            var arr = result.ToArray();

            for (var i = 0; i < iterations; i++) // verify 100 SETs
            {
                Assert(arr[i] is bool && (bool)arr[i]);
            }

            Assert(arr[iterations] is bool && (bool)arr[iterations]); // verify num=0 SET
            for (var i = 1; i < iterations; i++)                      // verify INCRs
            {
                Assert(arr[i + iterations] is long && (long)arr[i + iterations] == i);
            }

            for (var i = 0; i < iterations; i++) // verify GETs
            {
                Assert(arr[i + 2 * iterations] is string &&
                       (string)arr[i + 2 * iterations] == "WORLD" + i.ToString());
            }
        }
コード例 #2
0
 public MultiplePipelinedResultTypeJob()
 {
     _numKey = "mprtj:NUM" + InstanceNumber.ToString();
     _strKey = "mprtj:HELLO" + InstanceNumber.ToString();
 }
コード例 #3
0
 public override void BeforeBenchmark()
 {
     Debug.WriteLine(InstanceNumber.ToString() + ": BeforeBenchmark");
 }
コード例 #4
0
 public IncrJob()
 {
     _key = "NUM_" + InstanceNumber.ToString();
 }