Exemple #1
0
        static void ExecuteMethod(int n, int size, int testId)
        {
            ThreadPool.QueueUserWorkItem(new WaitCallback(MyHandler), null);
            //LatencyTesttimeTable = new DataTable();
            //LatencyTesttimeTable = DataTableUtil.GetLatencyTesttimeTable(LatencyTesttimeTable);

            for (int t = 0; t < size; t++)
            {
                DataTable LatencyTesttimeTable;
                LatencyTesttimeTable = new DataTable();
                LatencyTesttimeTable = DataTableUtil.GetLatencyTesttimeTable(LatencyTesttimeTable);
                if (_keyReaded)
                {
                    Console.WriteLine("キーが押されました");
                    break;
                }

                var semanticLinkList = getSemanticLinkList();

                //List<Task> arrayTask = new List<Task>();

                //for (int i = 0; i < n; i++)
                //{
                //    int index = getRandomIndex(arrayTask.Count);
                //    var task = Task.Run(() => ExecuteCHORALEQuery(semanticLinkList[index].Item1,
                //        semanticLinkList[index].Item2, i, t, testId, ref LatencyTesttimeTable));
                //    arrayTask.Add(task);
                //}
                Parallel.For(0, n, i =>
                {
                    int index = getRandomIndex(semanticLinkList.Count);
                    //var task = Task.Run(() => ExecuteCHORALEQuery(semanticLinkList[index].Item1,
                    //semanticLinkList[index].Item2, i, t, testId, ref LatencyTesttimeTable));
                    ExecuteCHORALEQuery(semanticLinkList[index].Item1,
                                        semanticLinkList[index].Item2, i, t, testId, ref LatencyTesttimeTable);
                    //arrayTask.Add(task);
                });


                //await Task.WhenAll(arrayTask);
                //Console.WriteLine("before:" + LatencyTesttimeTable.Rows.Count);
                //Console.WriteLine(LatencyTesttimeTable.Rows[0].Field<int>(LatencyTesttimeDao.ColumnParallelNum));
                //Console.WriteLine(LatencyTesttimeTable.Rows[1].Field<int>(LatencyTesttimeDao.ColumnParallelNum));
                LatencyTesttimeDao.Insert(LatencyTesttimeTable);
            }
            Console.WriteLine("end.");

            LatencyTestDao.UpdateEndtime(DateTime.Now, testId);
        }
Exemple #2
0
         static void ExecuteTest(int parallel, int size)
        {
            DataTable LatencyTestTable = new DataTable();

            LatencyTestTable = DataTableUtil.GetLatencyTestTable(LatencyTestTable);
            DataRow dataRow = LatencyTestTable.NewRow();

            dataRow.SetField(LatencyTestDao.ColumnStartTime, DateTime.Now);
            Console.WriteLine(dataRow.Field <DateTime>(LatencyTestDao.ColumnStartTime));
            dataRow.SetField(LatencyTestDao.ColumnParallel, parallel);
            dataRow.SetField(LatencyTestDao.ColumnSize, size);
            dataRow.SetField(LatencyTestDao.ColumnDescription, "CHORALEクエリTestVer2.3");
            LatencyTestTable.Rows.Add(dataRow);
            LatencyTestDao.Insert(LatencyTestTable);

            ExecuteMethod(parallel, size, LatencyTestDao.GetMaxId());
        }