int main(int argc, char **argv){
	if(pthread_mutex_init(&mutex,NULL)!=0){
		return -1;
	}
	
	setbuf(stdout,NULL);
	if(argc != 6){
		helpinfo();
		return -1;
	}
	
	benchmarkargs args = (benchmarkargs)zmalloc(sizeof(struct benchmarkargs_));
	args->ip = (char *)zmalloc(sizeof(argv[1]));
	strcpy(args->ip, argv[1]);
	args->port = atoi(argv[2]);
	args->thread_num = atoi(argv[3]);
	args->client_num = atoi(argv[4]);
	args->test_time = atof(argv[5]);
	easysocketbenchmarkthreadpool(args);
	
	long int start_time = easysocketbenchmark::getcurrenttime();
	long int end_time = easysocketbenchmark::getcurrenttime();
	long int total_test_time = args->test_time*60*1000;
	while(end_time - start_time < total_test_time){
		//wait 100ms
		usleep(100000);
		end_time = easysocketbenchmark::getcurrenttime();
	}
	double avglatency = (double)total_res_time/(double)total_res;
	testreport(args->thread_num, args->client_num, args->test_time, total_req, total_res, total_err, 
		avglatency, below_10, between_10_20, between_20_30, over_30);
	
	return 0;
}
Beispiel #2
0
int main(int ac,char **av) {
  int mempoolsize=1024*1024;
  SE *code;
  int c;

  if(ac>1) {
    while((c=getopt(ac,av,"vh?p:"))!=-1) {
      switch(c) {
      case 'v': versioninfo(stdout,av[0]); return 0;
      case '?': case 'h': versioninfo(stdout,av[0]); helpinfo(stdout,av[0]); return 0;
      case 'p':	mempoolsize=atoi(optarg); break;
      default: helpinfo(stdout,av[0]); return 1;
      }
    }
  }

  init_mempool(mempoolsize);
  init_symbols_list();
  gather_symbols((code=read_se(stdin)));
  assemble(code,stdout,1);
  printf("\n");
  return 0;
}
Beispiel #3
0
int main(int ac, char **av) {
  FILE *codefile=stdin;
  int  mempoolsize=1024*1024;
  int c;
  SE *prog,*result;

  silent=0;

  if(ac<2) {
    versioninfo(stderr,av[0]);
    helpinfo(stderr,av[0]);
    return 1;
  }

  while((c=getopt(ac,av,"svch?p:"))!=-1) {
    switch(c) {

    case 's':
      silent=1;
      break;

    case 'c':
      conscellinfo(stdout,av[0]);
      return 0;

    case 'v':
      versioninfo(stdout,av[0]);
      return 0;

    case '?':
    case 'h':
      versioninfo(stdout,av[0]);
      helpinfo(stdout,av[0]);
      return 0;

    case 'p':
      mempoolsize=atoi(optarg);
      break;

    default:      
      // versioninfo(stderr,av[0]);
      // helpinfo(stdout,av[0]);
      return 1;      
    }
  }

  if((codefile=fopen(av[optind],"r"))) {
    if(silent!=1) printf("Initializing mempool (%d cells)...\n",mempoolsize);
    init_mempool(mempoolsize);

    if(silent!=1) printf("Loading code from %s...\n",av[optind]);
    prog=read_se(codefile);

    if(silent!=1) printf("Allocating %d env-slot(s) for environments...\n",numval(car(prog)));
    Dreg=(SE **)malloc(sizeof(SE *)*numval(car(prog)));

    Rreg=NIL;
    Creg=NIL;

    C_push(cdr(prog));

    if(silent!=1) printf("Running the machine.\n");
    result=run();

    if(silent!=1) printf("Result: ");
    write_se(result,stdout);
    printf("\n"); // ?

    if(silent!=1) printf("\nAuf wiedersehen!\n");
    return 0;

  } else fprintf(stderr,"Could not open file %s.\n",av[optind]);

  return 1;
}