Beispiel #1
0
  /*データ入力*/
void input(student a[], int stu, int sub){
  int judge,retry,errer_counter=0;
  int i,j;

  while(1){
      printf("成績データをマニュアル入力\t・・・(0)\n乱数で一連の動作を確認\t\t・・・(1)\n外部データの読み込みを行う\t・・・(2)\n");
      scanf("%d", &judge);
      if(judge==0){
        manual_input(a, stu, sub);
        break;
      }else if(judge==1){
        random_input(a, stu, sub);
        break;
      }else if(judge==2){
        external_data_input(a, stu, sub);
        break;
      }else{
        printf("0,1,2のいずれかを入力してください\n");
      }
    }
}
Beispiel #2
0
/* do_workload() executes update_salary, query_salary and multirow_fetch, 
   and collect statistics on accumulated waiting time on above operations */
void do_workload(OCISvcCtx *svchp, OCIError *errhp, thdata *pthdata, int iteration)
{
  struct timeval start, finish ;

  /* Simulate web input for salary updates */
  random_input(pthdata);
    
  gettimeofday (&start, NULL);
  
  query_salary(svchp, errhp, pthdata);
  gettimeofday (&finish, NULL);
  pthdata->querytime += (finish.tv_sec-start.tv_sec) * 1000000 +
                        (finish.tv_usec-start.tv_usec);

  multirow_fetch(svchp, errhp, pthdata);
  gettimeofday (&start, NULL);
  pthdata->fetchtime -= (finish.tv_sec-start.tv_sec) * 1000000 +
                        (finish.tv_usec-start.tv_usec);

  update_salary(svchp, errhp, pthdata);
  gettimeofday (&finish, NULL);
  pthdata->updatetime += (finish.tv_sec-start.tv_sec) * 1000000 +
                         (finish.tv_usec-start.tv_usec);
}