BendPerfTest.A01_RecordTypesTest.T12_RecordKeyDecodePerfTest C# (CSharp) Method

T12_RecordKeyDecodePerfTest() private method

private T12_RecordKeyDecodePerfTest ( ) : void
return void
        public void T12_RecordKeyDecodePerfTest()
        {
            RecordKey rk = new RecordKey().appendParsedKey(".data/test/unpack/with/lots/of/parts");
            int NUM_ITERATIONS = 100000;

            // encode test
            {
                GC.Collect();
                DateTime start = DateTime.Now;
                for (int x = 0; x < NUM_ITERATIONS; x++) {
                    byte[] data = rk.encode();
                }
                DateTime end = DateTime.Now;
                double elapsed_s = (end - start).TotalMilliseconds / 1000.0;
                double rec_per_s = (double)NUM_ITERATIONS / elapsed_s;

                Console.WriteLine("packed {0} record keys in {1} seconds, {2} keys/second",
                    NUM_ITERATIONS, elapsed_s, rec_per_s);

                Assert.Less(500000, rec_per_s, "minimum records per second of pack");

            }

            // decode test
            {
                byte[] data = rk.encode();
                GC.Collect();
                DateTime start = DateTime.Now;
                for (int x = 0; x < NUM_ITERATIONS; x++) {
                    RecordKey unpacked = new RecordKey(data);
                }
                DateTime end = DateTime.Now;
                double elapsed_s = (end - start).TotalMilliseconds / 1000.0;
                double rec_per_s = (double)NUM_ITERATIONS / elapsed_s;

                Console.WriteLine("unpacked {0} record keys in {1} seconds, {2} keys/second",
                    NUM_ITERATIONS, elapsed_s, rec_per_s);

                Assert.Less(500000, rec_per_s, "minimum records per second of unpack");

            }
        }
A01_RecordTypesTest