Beispiel #1
0
        static void TestJ()
        {
            Console.WriteLine();
            long      m_fst     = GC.GetTotalMemory(false);
            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();
            IDynaRecord dynaRecord = dataMod.GetDynaRecord("InvoCut");

            /*
             * using (FileStream rfs = new FileStream("Invoice_Params.json", FileMode.Open))
             * {
             *  //считываем параметры запроса из входного json-потока
             *  dynaRecord.ReadPropStream(rfs, "sel");
             * }
             */
            using (Stream fs = new FileStream("InvoCut.json", FileMode.Create), bs = new BufferedStream(fs, 16 * 1024))
            {
                dynaRecord.SelectToStream(bs, CommandBehavior.SequentialAccess);
            }
            stopWatch.Stop();
            TimeSpan ts    = stopWatch.Elapsed;
            long     m_lst = GC.GetTotalMemory(false);

            //вся таблица выгружается в json-файл размером 381Kb за 14 - 27 ms (TextStreamWriter), лучшее 15 ms
            //вся таблица выгружается в json-файл размером 381Kb за 35 - 40 ms (JsonStreamWriter),
            //Core EF читает и пишет данные в поток за 78 - 90 ms
            Console.WriteLine("Done J: Время {0} ms", ts.Milliseconds);
            Console.WriteLine("Выделено памяти {0} байт", m_lst - m_fst);
        }
Beispiel #2
0
        static void TestM(string queryName, int num)
        {
            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();
            IDynaRecord dynaRecord = dataMod.GetDynaRecord(queryName);

            using (MemoryStream ms = new MemoryStream(1000000))
                dynaRecord.SelectToStream(ms, CommandBehavior.SequentialAccess);
            stopWatch.Stop();
            TimeSpan ts = stopWatch.Elapsed;

            //long i_len = dynaObject.StreamWriter.Result.Length;
            //Console.WriteLine("Done M{0}: Время {1} ms, размер {2}", num, ts.Milliseconds, i_len);
            timeList.Add(ts.Milliseconds);
        }