您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ timeval_subtract函数代码示例

51自学网 2021-06-03 08:52:08
  C++
这篇教程C++ timeval_subtract函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中timeval_subtract函数的典型用法代码示例。如果您正苦于以下问题:C++ timeval_subtract函数的具体用法?C++ timeval_subtract怎么用?C++ timeval_subtract使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了timeval_subtract函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: bm_end

void bm_end(const char* name) {   benchmark_t* benchmark;  struct rusage rs;  int ret = getrusage(RUSAGE_SELF, &rs);    if (ret != 0) {    perror("rusage failed");        exit(-1);  }  benchmark = find_benchmark(name);  benchmark->end = rs;  struct timeval utime;  timeval_subtract(&utime, &benchmark->end.ru_utime, &benchmark->begin.ru_utime);  struct timeval stime;  timeval_subtract(&stime, &benchmark->end.ru_stime, &benchmark->begin.ru_stime);    printf("Benchmark: %s/n", benchmark->name);  printf("User time used  : %ld.%06ld/n",         utime.tv_sec, (long int)utime.tv_usec);  printf("System time used: %ld.%06ld/n",         stime.tv_sec, (long int)stime.tv_usec);  printf("/n");}
开发者ID:BenGant,项目名称:cmph,代码行数:25,


示例2: gt_timer_show_progress_va

void gt_timer_show_progress_va(GtTimer *t, FILE *fp, const char *desc,                               va_list ap){#ifndef _WIN32  char buf[BUFSIZ];  struct timeval elapsed_tv, elapsed_user_tv, elapsed_sys_tv;  gt_assert(t && desc);  gettimeofday(&t->stop_tv, NULL);  gt_xgetrusage(RUSAGE_SELF, &t->stop_ru);  timeval_subtract(&elapsed_tv, &t->stop_tv, &t->start_tv);  timeval_subtract(&elapsed_user_tv, &t->stop_ru.ru_utime,    &t->start_ru.ru_utime);  timeval_subtract(&elapsed_sys_tv, &t->stop_ru.ru_stime,    &t->start_ru.ru_stime);  gt_timer_print_progress_report(t, &elapsed_tv, &elapsed_user_tv,    &elapsed_sys_tv, t->statedesc, fp);  if (t->statedesc)    gt_free(t->statedesc);  (void) vsnprintf(buf, BUFSIZ, desc, ap);  t->statedesc = gt_cstr_dup(buf);  gettimeofday(&t->start_tv, NULL);  gt_xgetrusage(RUSAGE_SELF, &t->start_ru);#else  /* XXX */  fprintf(stderr, "gt_timer_show_progress_va() not implemented/n");  exit(EXIT_FAILURE);#endif}
开发者ID:Hanimal,项目名称:genometools,代码行数:29,


示例3: gettimeofday

/** * @internal * * @param timeout Timeout value given to select, will be reduced by the *   difference since start time. * @param tv_start Actual time before select() was called * * @brief Substract time spent waiting in select from a given *   max. timeout struct * * This functions is intended for functions which call select() repeatedly * with a given overall timeout.  After each select() call the time already * spent in waiting has to be substracted from the timeout. (Note that we don't * use the Linux select(2) feature to return the time not slept in the timeout * struct, because that's not portable.) *  * @return * No direct return; modifies timeout value in the struct pointed to by the * second pointer argument as described above. */voidvbi_capture_io_update_timeout	(struct timeval *	timeout,				 const struct timeval *	tv_start)				 {	struct timeval delta;	struct timeval tv_stop;        int            errno_saved;        errno_saved = errno;	gettimeofday(&tv_stop, NULL);        errno = errno_saved;	/* first calculate difference between start and current time */	timeval_subtract (&delta, &tv_stop, tv_start);	if ((delta.tv_sec | delta.tv_usec) < 0) {		delta.tv_sec = 0;		delta.tv_usec = 0;	} else {		/* substract delta from the given max. timeout */		timeval_subtract (timeout, timeout, &delta);		/* check if timeout was underrun -> set rest timeout to zero */		if ((timeout->tv_sec | timeout->tv_usec) < 0) {			timeout->tv_sec  = 0;			timeout->tv_usec = 0;		}	}}
开发者ID:OpenDMM,项目名称:zvbi,代码行数:50,


示例4: print_resource_track

void print_resource_track(const char *desc, struct resource_track *track,			  io_channel channel){#ifdef HAVE_GETRUSAGE	struct rusage r;#endif#ifdef HAVE_MALLINFO	struct mallinfo	malloc_info;#endif	struct timeval time_end;	gettimeofday(&time_end, 0);	if (desc)		printf("%s: ", desc);#ifdef HAVE_MALLINFO#define kbytes(x)	(((x) + 1023) / 1024)	malloc_info = mallinfo();	printf(_("Memory used: %dk/%dk (%dk/%dk), "),	       kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),	       kbytes(malloc_info.uordblks), kbytes(malloc_info.fordblks));#else	printf(_("Memory used: %d, "),	       (int) (((char *) sbrk(0)) - ((char *) track->brk_start)));#endif#ifdef HAVE_GETRUSAGE	getrusage(RUSAGE_SELF, &r);	printf(_("time: %5.2f/%5.2f/%5.2f/n"),	       timeval_subtract(&time_end, &track->time_start),	       timeval_subtract(&r.ru_utime, &track->user_start),	       timeval_subtract(&r.ru_stime, &track->system_start));#else	printf(_("elapsed time: %6.3f/n"),	       timeval_subtract(&time_end, &track->time_start));#endif#define mbytes(x)	(((x) + 1048575) / 1048576)	if (channel && channel->manager && channel->manager->get_stats) {		io_stats delta = 0;		unsigned long long bytes_read = 0;		unsigned long long bytes_written = 0;		if (desc)			printf("%s: ", desc);		channel->manager->get_stats(channel, &delta);		if (delta) {			bytes_read = delta->bytes_read - track->bytes_read;			bytes_written = delta->bytes_written -				track->bytes_written;		}		printf("I/O read: %lluMB, write: %lluMB, rate: %.2fMB/s/n",		       mbytes(bytes_read), mbytes(bytes_written),		       (double)mbytes(bytes_read + bytes_written) /		       timeval_subtract(&time_end, &track->time_start));	}}
开发者ID:OpenInkpot-archive,项目名称:iplinux-e2fsprogs,代码行数:59,


示例5: periodic_check

void periodic_check(int sock, short event, void *arg) {    //Set next periodic check event    event_add(&update_check_event, &update_check_interval);        //Still waiting for the first value to be delivered    if(!monitor_initialized) {        return;    }        //Get (2 copies) of current time    struct timeval current_time, elapsed_time;    gettimeofday(&current_time, NULL);    elapsed_time.tv_sec = current_time.tv_sec;    elapsed_time.tv_usec = current_time.tv_usec;        //How much time from sample start?    timeval_subtract(&elapsed_time, &sample_start);        //Time to print, update and reset    if(elapsed_time.tv_sec >= UPDATE_INTERVAL || arg != NULL) {        double secs, vps, kbps;                //Calculate throughput for last sample        secs = (((float)elapsed_time.tv_usec)/100000)+elapsed_time.tv_sec;        vps = ((float)last_sample_delivered/secs);         kbps = ((float)last_sample_bytes/secs)/1000;                //Print stats for last sample        printf("Last sample: %lu values (%lu bytes) in %.1f secs/n",             last_sample_delivered, last_sample_bytes, secs);        printf("TP: %.2f v/s, %.2f kb/s/n", vps, kbps);                //Update total counter        total_delivered += last_sample_delivered;        total_bytes += last_sample_bytes;        //How much time from delivery of first value?        timeval_subtract(&current_time, &monitor_start);        //Calculate throughput overall        secs = (((float)current_time.tv_usec)/100000)+current_time.tv_sec;        vps = ((float)total_delivered/secs);         kbps = ((float)total_bytes/secs)/1000;                        //Print stats overall        printf("Total: %lu values (%lu bytes) in %.1f secs/n",            total_delivered, total_bytes, secs);        printf("TP: %.2f v/s, %.2f kb/s/n", vps, kbps);	fflush(stdout);                //Reset last sample stats and timer        last_sample_delivered = 0;        last_sample_bytes = 0;        gettimeofday(&sample_start, NULL);    }        //Makes the compiler happy    sock = sock; event = event; arg = arg;}
开发者ID:dariobottazzi,项目名称:libpaxos,代码行数:58,


示例6: sleep_period

int sleep_period(sleep_handler_t *sleep_handler, double *freq) {  handler_t *handler=(handler_t *)sleep_handler;  struct timeval current_time;  struct timeval diff;  struct timeval  sleep_time_tv;  struct timespec sleep_time_ts;  // lets take current time  if(gettimeofday(&current_time, NULL)) {    free(handler->errstr);    x_asprintf(&handler->errstr, "Error calling gettimeofday(): %s/n", strerror_r(errno, handler->errbuf, MAX_ERROR_MSG_LENGTH));    return 2;  }  // lets calculate diff  if(timeval_subtract(&diff, &current_time, &handler->last_call_time)) {    free(handler->errstr);    x_asprintf(&handler->errstr, "Your system clock is running  backwards!/n");    handler->last_call_time.tv_sec=current_time.tv_sec;    handler->last_call_time.tv_usec=current_time.tv_usec;    return 2;  }  // and sleep time  if(timeval_subtract(&sleep_time_tv, &handler->period, &diff)) {    double period;    // negative, we've got a delay; lets calculate it    period=(double)diff.tv_sec;    period+=((double)diff.tv_usec)/1e6;    *freq=1/period;    if(gettimeofday(&handler->last_call_time, NULL)) {      free(handler->errstr);      x_asprintf(&handler->errstr, "Error calling gettimeofday(): %s/n", strerror_r(errno, handler->errbuf, MAX_ERROR_MSG_LENGTH));      free(handler);      return 2;    }    return 1;  } else {    // here, just sleep    sleep_time_ts.tv_sec=sleep_time_tv.tv_sec;    sleep_time_ts.tv_nsec=(long)(sleep_time_tv.tv_usec*1e3);    errno=0;    if(nanosleep(&sleep_time_ts, NULL)) {      free(handler->errstr);      x_asprintf(&handler->errstr, "Error calling nanosleep(): %s/n", strerror_r(errno, handler->errbuf, MAX_ERROR_MSG_LENGTH));    }    if(gettimeofday(&handler->last_call_time, NULL)) {      free(handler->errstr);      x_asprintf(&handler->errstr, "Error calling gettimeofday(): %s/n", strerror_r(errno, handler->errbuf, MAX_ERROR_MSG_LENGTH));      free(handler);      return 2;    }  }  return 0;}
开发者ID:fornellas,项目名称:SCRAP,代码行数:53,


示例7: gettimeofday

/** * thread which regularly scans hashtable for expired buckets/flows */void BaseAggregator::exporterThread(){    struct timeval inttimer;    gettimeofday(&inttimer, 0);    //struct timeval difftime;    //REQUIRE(timeval_subtract(&difftime, &stoptime, &starttime) == 0);    /*timespec req;    req.tv_sec = pollInterval / 1000;    req.tv_nsec = (pollInterval % 1000) * 1000;*/    registerCurrentThread();    msg(MSG_INFO, "Polling aggregator each %u msec", pollInterval);    while (!exitFlag) {        addToCurTime(&inttimer, pollInterval);        struct timeval curtime;        gettimeofday(&curtime, 0);        struct timeval difftime;        if (timeval_subtract(&difftime, &inttimer, &curtime)!=1) {            // restart nanosleep with the remaining sleep time            // if we got interrupted by a signal            struct timespec ts;            TIMEVAL_TO_TIMESPEC(&difftime, &ts);            while (nanosleep(&ts, &ts) == -1 && errno == EINTR);        }        gettimeofday(&curtime, 0);        msg(MSG_VDEBUG,"Aggregator: starting Export");        for (size_t i = 0; i < rules->count; i++) {            rules->rule[i]->hashtable->expireFlows();        }        struct timeval endtime;        gettimeofday(&endtime, 0);        timeval_subtract(&difftime, &endtime, &curtime);        msg (MSG_VDEBUG,"Aggregator: export took %.03f secs", (float)difftime.tv_usec/1000000+difftime.tv_sec);    }    if (getShutdownProperly()) {        for (size_t i = 0; i < rules->count; i++) {            rules->rule[i]->hashtable->expireFlows(true);        }    }    unregisterCurrentThread();}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:54,


示例8: print_resource_track

static void print_resource_track(struct resource_track *track){	struct rusage r;	struct timeval time_end;	gettimeofday(&time_end, 0);	getrusage(RUSAGE_SELF, &r);	printf(_("Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f/n"),	       (int) (((char *) sbrk(0)) - ((char *) track->brk_start)),	       timeval_subtract(&time_end, &track->time_start),	       timeval_subtract(&r.ru_utime, &track->user_start),	       timeval_subtract(&r.ru_stime, &track->system_start));}
开发者ID:DentonGentry,项目名称:gfiber-gfrg100,代码行数:14,


示例9: test_local_bus__measure_write_and_then_read_data_rate

void test_local_bus__measure_write_and_then_read_data_rate(unsigned short int should_do_write_test, unsigned short int should_do_read_test) {	unsigned long int number_of_writes = 0, number_of_reads = 0, number_of_errors = 0, number_of_loops = 0;	unsigned short int value;	srand(time(NULL));//	clock_t start_writing, done_writing, start_reading, done_reading;	unsigned long int i, j;	if (1) {		for (i=0; i<BIG_ARRAY_SIZE; i++) {			array[i] = pseudo_random(0x0, 0xff);		}		if (should_do_write_test) {//			start_writing = clock();			gettimeofday(&start1, NULL);			for (i=0; i<BIG_ARRAY_SIZE; i++) {				j = pseudo_random(ARRAY_PARTIAL_RANGE__FIRST, ARRAY_PARTIAL_RANGE__LAST);				FINESSE_CSR_WR(slot, j, array[i]);				number_of_writes++;			}//			done_writing = clock();			gettimeofday(&end1, NULL);			timeval_subtract(&result1, &end1, &start1);//			float seconds_for_write = ((float) (done_writing - start_writing)) / CLOCKS_PER_SEC;			float seconds_for_write = result1.tv_sec + result1.tv_usec / 1000000.0;			if (seconds_for_write) {				float kilobytes_per_second_write = 1.0e-3 * number_of_writes / seconds_for_write;				printf("%d bytes in %4.1f seconds = %4.0f kbytes/s (write)/n", number_of_writes, seconds_for_write, kilobytes_per_second_write);			}			number_of_writes = 0;		}		if (should_do_read_test) {//			start_reading = clock();			gettimeofday(&start2, NULL);			for (i=0; i<BIG_ARRAY_SIZE; i++) {				j = pseudo_random(ARRAY_PARTIAL_RANGE__FIRST, ARRAY_PARTIAL_RANGE__LAST);				FINESSE_CSR(slot, j);				number_of_reads++;			}//			done_reading = clock();			gettimeofday(&end2, NULL);			timeval_subtract(&result2, &end2, &start2);//			float seconds_for_read  = ((float) (done_reading - start_reading)) / CLOCKS_PER_SEC;			float seconds_for_read = result2.tv_sec + result2.tv_usec / 1000000.0;			if (seconds_for_read) {				float kilobytes_per_second_read  = 1.0e-3 * number_of_reads / seconds_for_read;				printf("%d bytes in %4.1f seconds = %4.0f kbytes/s (read)/n", number_of_reads, seconds_for_read, kilobytes_per_second_read);			}			number_of_reads = 0;		}	}}
开发者ID:diqiuren,项目名称:idlab-daq,代码行数:50,


示例10: main

int main(int argc, char *argv[]){    int m = 5000;    int n = 5000;    double **data, **fuzzed;    struct timeval data_start, data_end,                   calc_start, calc_end,                    data_diff, calc_diff;    gettimeofday(&data_start, NULL);    data =  malloc(m * sizeof(double *));    for (int i = 0; i < m; i++){        data[i] = malloc(n * sizeof(double));    }    fuzzed = malloc(m * sizeof(double *));    for (int i = 0; i < m; i++){        fuzzed[i] = malloc(n * sizeof(double));    }    printf("Generating sample data (%dx%d array), in C.../n", m, n);    for (int j = 0; j < m; j++){        for (int k = 0; k < n; k++) {            data[j][k] = pow(((float)j/10.0), 4) + pow(((float)k/20.0), 4);        }    }    gettimeofday(&data_end, NULL);    printf("Performing gradient calculation on data (%dx%d array), with results:/n", m, n);    gettimeofday(&calc_start, NULL);    del2(data, fuzzed, m, n);    gettimeofday(&calc_end, NULL);    for (int i = 0; i< min(m, n); i+=1000){        printf("%f/n", fuzzed[i][i]);    }    timeval_subtract(&data_diff, &data_end, &data_start);    timeval_subtract(&calc_diff, &calc_end, &calc_start);    printf("Summary:/n");    printf("   Data generation code segment (C) took %f seconds/n", data_diff.tv_sec + data_diff.tv_usec/1e6);    printf("   Gradient calculation code segment (C) took %f seconds/n", calc_diff.tv_sec + calc_diff.tv_usec/1e6);    printf("   Total time: %.3f seconds/n", (data_diff.tv_sec + data_diff.tv_usec/1e6) + (calc_diff.tv_sec + calc_diff.tv_usec/1e6));    // We should free() data, and fuzzed here. I'm lazy though.    return 0;}
开发者ID:RocPy,项目名称:talk-on-python-and-other-languages,代码行数:50,


示例11: do_multi

    // Multipairing    void do_multi(int m){        int i = 0;        lpoly list[m];        lpoly *tmp_list;        // prevalues        element_t gg[m];        element_ptr ggg[m];        element_t hh[m];        for(i = 0; i < m; i++){            element_init_G2(gg[i], pairing);            element_random(gg[i]);            ggg[i] = malloc(sizeof(element_ptr));            element_init(ggg[i], gg[i]->field);            element_set(ggg[i], gg[i]);            element_init_G1(hh[i], pairing);            element_random(hh[i]);        }        // precomputation        gettimeofday(&tvBegin, NULL);        for(i = 0; i < m; i++){            tmp_list = lpoly_init();            precompute(tmp_list, pairing->r, hh[i], gg[i]);            list[i] = *tmp_list;        }        gettimeofday(&tvEnd, NULL);        timeval_subtract(&tvEnd, &tvBegin, 1000);        // compute        gettimeofday(&tvBegin, NULL);        compute_millers(temp2, list, ggg, m, pairing);        gettimeofday(&tvEnd, NULL);        timeval_subtract(&tvEnd, &tvBegin, 1000);        gettimeofday(&tvBegin, NULL);        element_prod_pairing(temp1, hh, gg, m);        gettimeofday(&tvEnd, NULL);        timeval_subtract(&tvEnd, &tvBegin, 1000);        for(i = 0; i < m; i++){            lpoly_free2(list[i]);        }    }
开发者ID:dscharles,项目名称:impluniversidad,代码行数:50,


示例12: do_test

int do_test(char * name, int (* test)(unsigned int len),	    unsigned int len, int count){	int i, ret;	struct timeval tv_in;	struct timeval tv_beg;	struct timeval tv_end;	struct timeval tv_len;	struct timeval tv_lat;	struct timezone tz;	char * status = "OK";	char * latency_type = "";	tv_in.tv_sec = len / 1000;	tv_in.tv_usec = (len % 1000) * 1000;	gettimeofday(&tv_beg, &tz);	for (i = 0; i < count; i++) {		ret = test(len);	}	gettimeofday(&tv_end, &tz);	ret = timeval_subtract(&tv_len, &tv_end, &tv_beg);	if (ret)		status = "ERROR";	ret = timeval_subtract(&tv_lat, &tv_len, &tv_in);	if (ret) {		latency_type = "-";		timeval_subtract(&tv_lat, &tv_in, &tv_len);	}	if (tv_lat.tv_sec > 0 || tv_lat.tv_usec > MAX_LATENCY)		status = "ERROR";	printf("  Test: %6s %4ums time: %2u.%06us "	       "latency: %1s%u.%06us status: %s/n",	       name, 	       (len * count),	       (unsigned int)tv_len.tv_sec,	       (unsigned int)tv_len.tv_usec,	       latency_type,	       (unsigned int)tv_lat.tv_sec,	       (unsigned int)tv_lat.tv_usec,	       status);	return ret;}
开发者ID:MarkTseng,项目名称:mySampleCode,代码行数:48,


示例13: main

int main(){    unsigned int OUTER_LOOP_COUNT, NUM_X, NUM_Y, NUM_T;	const REAL s0 = 0.03, strike = 0.03, t = 5.0, alpha = 0.2, nu = 0.6, beta = 0.5;    readDataSet( OUTER_LOOP_COUNT, NUM_X, NUM_Y, NUM_T );    const int Ps = get_CPU_num_threads();    REAL* res = (REAL*)malloc(OUTER_LOOP_COUNT*sizeof(REAL));    {   // Original Program (Sequential CPU Execution)        cout<<"/n// Running OpenMP parallelized project program"<<endl;        unsigned long int elapsed = 0;        struct timeval t_start, t_end, t_diff;        gettimeofday(&t_start, NULL);        run_OrigCPU( OUTER_LOOP_COUNT, NUM_X, NUM_Y, NUM_T, s0, t, alpha, nu, beta, res );        gettimeofday(&t_end, NULL);        timeval_subtract(&t_diff, &t_end, &t_start);        elapsed = t_diff.tv_sec*1e6+t_diff.tv_usec;        // validation and writeback of the result        bool is_valid = validate   ( res, OUTER_LOOP_COUNT );        writeStatsAndResult( is_valid, res, OUTER_LOOP_COUNT,                             NUM_X, NUM_Y, NUM_T, false, Ps, elapsed );    }    return 0;}
开发者ID:ShaggO,项目名称:pmph_project,代码行数:31,


示例14: toc

void toc(struct timeval *timer){	struct timeval tv_end, tv_diff;	gettimeofday(&tv_end, NULL);	timeval_subtract(&tv_diff, &tv_end, timer);	printf("cpuTime = %ld.%06ld (s)/n", tv_diff.tv_sec, tv_diff.tv_usec);}
开发者ID:SibghatullahSheikh,项目名称:HMM-SpeechRecogntion-GPU,代码行数:7,


示例15: cable_parallel_phys_wait

void cable_parallel_phys_wait(){  /* This busy wait attempts to make the frequency exactly 200kHz,   * including the processing time between ticks.   * This means a period of 5us, or half a period of 2.5us.   */  #ifdef PARALLEL_USE_PROCESS_TIMER  struct timespec ts;  do    {      clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts);     } while((ts.tv_sec == 0) && (ts.tv_nsec < 2500));  /* Doing the set after the check means that processing time   * is not added to the wait. */  ts.tv_sec = 0;  ts.tv_nsec = 0;  clock_settime(CLOCK_PROCESS_CPUTIME_ID, &ts);  #else  struct timeval now_tv;  struct timeval results_tv;  do    {      gettimeofday(&now_tv, NULL);      timeval_subtract (&results_tv, &now_tv, &last_tv);    } while((results_tv.tv_sec == 0) && (results_tv.tv_usec < 3));  last_tv = now_tv;  #endif}
开发者ID:FPGA-cores-examples,项目名称:adv_debug_sys,代码行数:29,


示例16: serialDataFirst

/* Function to apply the filter with the filter list in the outside loop */void serialDataFirst ( int data_len, unsigned int* input_array, unsigned int* output_array, int filter_len, unsigned int* filter_list ){  /* Variables for timing */  struct timeval ta, tb, tresult;  /* get initial time */  gettimeofday ( &ta, NULL );  /* for all elements in the data */  for (int x=0; x<data_len; x++) {    /* for all elements in the filter */     for (int y=0; y<filter_len; y++) {       /* it the data element matches the filter */       if (input_array[x] == filter_list[y]) {        /* include it in the output */        output_array[x] = input_array[x];      }    }  }  /* get initial time */  gettimeofday ( &tb, NULL );  timeval_subtract ( &tresult, &tb, &ta );  printf ("Serial data first took %lu seconds and %lu microseconds.  Filter length = %d/n", tresult.tv_sec, tresult.tv_usec, filter_len );}
开发者ID:zhihaodev,项目名称:parallel-programming,代码行数:29,


示例17: main

int main() {    pj_sock_t sock;    pj_sockaddr_in to_addr;    char *s = "Cong hoa xa hoi chu nghia VietNam";    char buffer[100];    pj_ssize_t len;    struct timeval tv_begin, tv_end, tv_diff;    pj_log_set_level(3);    CHECK(__FILE__, pj_init());    pj_bzero(buffer, sizeof(buffer));    CHECK_R( __FILE__, pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &sock) );    //udp_socket(12345, &sock);    setup_addr_with_host_and_port(&to_addr, "127.0.0.1", 33333);    len = strlen(s);    gettimeofday(&tv_begin, NULL);    pj_sock_sendto(sock, s, &len, 0, &to_addr, sizeof(to_addr));        PJ_LOG(3, (__FILE__, "Sent: %s", s));    len = 100;    pj_sock_recv(sock, buffer, &len, 0);    gettimeofday(&tv_end, NULL);    int diff = timeval_subtract(&tv_diff, &tv_end, &tv_begin);    PJ_LOG(3, (__FILE__, "Received: %s %0.2f msec", buffer, diff*1.0/1000));    pj_shutdown();    return 0;}
开发者ID:mocidis,项目名称:ping-server,代码行数:30,


示例18: rateest_frames_played

off_t rateest_frames_played(void){     GTimeVal tv,tv2;     int i;     gfloat f,sr;     off_t o,lat;     /* First, use clock time, checkpoint time and estimated sample      * rate to calculate position.       * If the clock seems broken, use written frames and estimated latency. */     g_get_current_time(&tv);     i = timeval_subtract(&tv2,&tv,&current_checkpoint_time);     sr = rateest_real_samplerate();     if (i >= 0) {	  /* printf("tv2: %ld.%6ld/n",tv2.tv_sec,tv2.tv_usec); */	  f = (gfloat)tv2.tv_usec * 0.000001 + (gfloat)tv2.tv_sec;	  f *= sr;	  /* printf("f: %f, sr: %f/n",f,sr); */	  o = current_checkpoint + (off_t)f;	  /* printf("First guess: %d, total_written: %d/n",(int)o,	     (int)total_written_frames); */	  if (o>total_written_frames) o=total_written_frames;     }     if (i<0) {	  	  if (best_seconds > current_played_seconds)	       lat = best_written - (best_seconds + best_discarded_seconds)*sr;	  else	       lat = (total_written_frames - current_checkpoint) - 		    (current_played_seconds + current_discarded_seconds)*sr;	  o = total_written_frames - lat;	       }     if (o > last_frames_played_value) last_frames_played_value = o;     return last_frames_played_value;}
开发者ID:magnush,项目名称:mhwaveedit,代码行数:33,


示例19: main

int main(int argc, char *argv[]){    int i = 0;    time_t curtime;    struct timeval tvBegin;    struct timeval tvEnd;    struct timeval tvDiff;    gettimeofday(&tvBegin, NULL);    if(argc < 2){        printf("Default to 50%% CPU/n");        while(1){            while(1){                gettimeofday(&tvEnd, NULL);                timeval_subtract(&tvDiff, &tvEnd, &tvBegin);                //printf("%ld, %ld/n", tvDiff.tv_sec,tvDiff.tv_usec);                if(tvDiff.tv_usec > 11000){                    break;                }            }            usleep(10000);            gettimeofday(&tvBegin, NULL);        }    }    //printf("%s/n", argv[1]);    return 0;}
开发者ID:sumiplus,项目名称:Solutions-1,代码行数:26,


示例20: main

int main(int argc, char *argv[]){int n,                           /* loop variables */    pc,                          /* prime counter */    foundone;                    /* most recent prime found */  struct timeval t_begin, t_end, t_diff, t_total;//printf("Starting. Numbers to be scanned= %d/n",LIMIT);gettimeofday(&t_begin, NULL);pc=4;     /* Assume the primes less than 10 (2,3,5,7) are counted here */for (n=11; n<=LIMIT; n=n+2) {   if (isprime(n)) {      pc++;      foundone = n;      /***** Optional: print each prime as it is found       printf("%d/n",foundone);      *****/      }			   //if ( (n-1)%PRINT == 0 )     //  printf("Numbers scanned= %d   Primes found= %d/n",n-1,pc);   }gettimeofday(&t_end, NULL);  timeval_subtract(&t_diff, &t_end, &t_begin);//printf("Done. Largest prime is %d Total primes %d/n",foundone,pc);printf("%d %ld.%06ld/n",LIMIT,t_diff.tv_sec, t_diff.tv_usec);} 
开发者ID:wuolayuju,项目名称:rpi_5n,代码行数:26,


示例21: buffered_string_benchmark

void buffered_string_benchmark(void){	//basic test to see if BufStringAdd is working at all, should print out <123456abcdefg>	BufString *a = BufStringNewSize(10/*initial size*/);	BufStringAdd(a, "123456");	BufStringAdd(a, "abcdefg");	DEBUG("Test <%s>/n", a->bs_Buffer);	for (unsigned int i = 0; i < 25; i++){		struct timeval start_time, end_time;		gettimeofday(&start_time, NULL);		BufString *b = BufStringNewSize(10/*initial size*/);		for (unsigned int j = 0; j < 100000000; j++){			BufStringAdd(b, "123456790");		}//		DEBUG("Total buffer size %d", b->bs_Size);		gettimeofday(&end_time, NULL);		struct timeval duration;		timeval_subtract(&duration, &end_time, &start_time);		DEBUG("Iteration %d execution time %ld.%04lds/n", i, duration.tv_sec, duration.tv_usec/1000);		BufStringDelete(b);	}	exit(1);}
开发者ID:eloekset,项目名称:friendup,代码行数:33,


示例22: process_ett_stop_time

uint32_t process_ett_stop_time(uint8_t neighbor_main_addr[ETH_ALEN], struct timeval* ett_stop_time) {    olsr_db_neighbors_ett_entry_t* entry;    if(neighbor_set_ett == NULL) {        return false;    }    HASH_FIND(hh, neighbor_set_ett, neighbor_main_addr, ETH_ALEN, entry);    if(entry == NULL) {        return false;    }    // If no previous ETT-START package was received false is returned    if(entry->timeval_recv.tv_sec == 0 && entry->timeval_recv.tv_usec == 0) {        return false;    }    // calculates the difference between ett_stop_time and timeval_recv    struct timeval res;    timeval_subtract(&res, &(entry->timeval_recv), ett_stop_time);    // calculates the difference time in usec    uint32_t result = res.tv_sec * 1000000 + res.tv_usec;    // deleting the old timeval_recv value    entry->timeval_recv.tv_sec = 0;    entry->timeval_recv.tv_usec = 0;    return result;}
开发者ID:Dekue,项目名称:des-routing-algorithms,代码行数:28,


示例23: ipc_execute

// IPC Executeenum esif_rc ipc_execute (struct esif_ipc *ipc){	enum esif_rc rc = ESIF_OK;	struct timeval start  = {0};	struct timeval finish = {0};	struct timeval result;	if (g_ipc_handle == ESIF_INVALID_HANDLE) {		rc = ESIF_E_NO_LOWER_FRAMEWORK;		goto exit;	}	if (g_timestamp) {		esif_ccb_get_time(&start);	}	rc = esif_ipc_execute(g_ipc_handle, ipc);	if (g_timestamp) {		esif_ccb_get_time(&finish);	}	if (g_timestamp) {		ESIF_TRACE_DEBUG("Start time: %06lu.%06lu/n",						 start.tv_sec, start.tv_usec);		ESIF_TRACE_DEBUG("Finish time: %06lu.%06lu/n",						 finish.tv_sec, finish.tv_usec);		timeval_subtract(&result, &finish, &start);		ESIF_TRACE_DEBUG("IPC Exec Time: %06lu.%06lu (%06lu usecs)/n",						 result.tv_sec, result.tv_usec, result.tv_usec);	}exit:	return rc;}
开发者ID:qbbian,项目名称:dptf,代码行数:35,


示例24: main

int main(int argc, char *argv[]){	// clock_t begin, end;	// double time_spent;	// begin = clock();		// end = clock();	// time_spent = (double)(end - begin) / CLOCKS_PER_SEC;	// fprintf( stderr,"%f/n", time_spent);	// return 0;	struct timeval tvBegin, tvEnd, tvDiff;    // begin    gettimeofday(&tvBegin, NULL);    // lengthy operation        system(argv[1]);    //end    gettimeofday(&tvEnd, NULL);    // diff    timeval_subtract(&tvDiff, &tvEnd, &tvBegin);    fprintf(stderr ,"%ld.%06ld/n", (long)tvDiff.tv_sec, (long)tvDiff.tv_usec);    return 0;}
开发者ID:psastras,项目名称:fp15745,代码行数:29,


示例25: main

int main(void){  int *values = malloc(NUMVALUES * sizeof (*values));  unsigned long idx, sortnum;  struct timeval start, end, diff, tmp, runtime = {0,0};  assert(values != NULL);  for (sortnum = 0; sortnum < NUMSORTS; ++sortnum) {    for (idx = 0; idx < NUMVALUES; ++idx) {      values[idx] = rand();    }    (void) gettimeofday(&start, NULL);    //qsort(values, sizeof(*values), NUMVALUES, compare);    qsort(values, NUMVALUES, sizeof(*values), compare);    (void) gettimeofday(&end, NULL);    (void) timeval_subtract(&diff, &end, &start);    tmp = runtime;    (void) timeval_add(&runtime, &tmp, &diff);    /* printf("Runtime (hh:mm:ss:us)/t%02lu:%02lu:%02lu:%06lu/n",           runtime.tv_sec / 60LU / 60LU,           (runtime.tv_sec / 60LU) % 60LU,           runtime.tv_sec % 60LU,           runtime.tv_usec); */  }  printf("Runtime (hh:mm:ss:us)/t%02lu:%02lu:%02lu:%06lu/n",         runtime.tv_sec / 60LU / 60LU,         (runtime.tv_sec / 60LU) % 60LU,         runtime.tv_sec % 60LU,         runtime.tv_usec);  free(values);  return 0;}
开发者ID:tronje,项目名称:cis-prog,代码行数:34,


示例26: elapsed

void Timer::elapsed(int64_t *elapsed_cpu, int64_t *elapsed_wall) {    if (stopped_elapsed_cpu >= 0 && stopped_elapsed_wall >= 0) {        /// Timer was previously stopped with stop()        if (elapsed_cpu != nullptr) *elapsed_cpu = stopped_elapsed_cpu;        if (elapsed_wall != nullptr) *elapsed_wall = stopped_elapsed_wall;        return;    }    if (elapsed_cpu != nullptr) {        struct timespec now_cpu;        if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &now_cpu) == 0) {            const int64_t now_us = (int64_t)now_cpu.tv_sec * 1000000 + now_cpu.tv_nsec / 1000;            const int64_t previous_us = (int64_t)previous_cpu.tv_sec * 1000000 + previous_cpu.tv_nsec / 1000;            *elapsed_cpu = now_us - previous_us;        } else            *elapsed_cpu = -1;    }    if (elapsed_wall != nullptr) {        struct timeval now_wall, result_wall;        if (gettimeofday(&now_wall, NULL) == 0 && timeval_subtract(&result_wall, &now_wall, &previous_wall) == 0) {            *elapsed_wall = (int64_t)result_wall.tv_sec * 1000000 + result_wall.tv_usec;        } else            *elapsed_wall = -1;    }}
开发者ID:thomasfischer-his,项目名称:pbflookup,代码行数:26,


示例27: print_uptime

/** print uptime stats */static intprint_uptime(SSL* ssl, struct worker* worker){	struct timeval now = *worker->env.now_tv;	struct timeval up, dt;	timeval_subtract(&up, &now, &worker->daemon->time_boot);	timeval_subtract(&dt, &now, &worker->daemon->time_last_stat);	worker->daemon->time_last_stat = now;	if(!ssl_printf(ssl, "time.now"SQ"%d.%6.6d/n", 		(unsigned)now.tv_sec, (unsigned)now.tv_usec)) return 0;	if(!ssl_printf(ssl, "time.up"SQ"%d.%6.6d/n", 		(unsigned)up.tv_sec, (unsigned)up.tv_usec)) return 0;	if(!ssl_printf(ssl, "time.elapsed"SQ"%d.%6.6d/n", 		(unsigned)dt.tv_sec, (unsigned)dt.tv_usec)) return 0;	return 1;}
开发者ID:RS-liuyang,项目名称:rsdns,代码行数:17,


示例28: main

int main(int argc, char * argv[]){    if ( argc == 1 )    {        printf("Usage: %s hostname [port]/n", argv[0]);        return 1;    }    char * host = argv[1];    int port = (argc==2) ? DEFAULT_PORT : atoi(argv[2]);    // resolving the hostname    struct hostent * he;    extern h_errno;    he = gethostbyname(host);    if ( he == NULL )    {        fprintf(stderr, "tcpping: unknown host %s (error %d)/n", host, h_errno);        return 1;    }    // filling up `sockaddr_in` structure    memset(&addrServer, 0, sizeof(struct sockaddr_in));    addrServer.sin_family = AF_INET;    memcpy(&(addrServer.sin_addr.s_addr), he->h_addr, he->h_length);    addrServer.sin_port = htons(port);    // first IP address as the target    struct in_addr ** addr_list = (struct in_addr **) he->h_addr_list;    char ip[16];    strcpy(ip, inet_ntoa(*addr_list[0]));    // Ctrl+C handler    signal(SIGINT, intHandler);    // note the starting time    struct timeval tvBegin, tvEnd, tvDiff;    gettimeofday(&tvBegin, NULL);    // main loop    while (running) ping(ip, port);    // note the ending time and calculate the duration of TCP ping    gettimeofday(&tvEnd, NULL);    long int diff = timeval_subtract(&tvEnd, &tvBegin);    // summary    printf ("/n--- %s tcpping statistics ---/n", host);    printf ("%d packets transmitted, %d received, %d%% packet loss, time %ldms/n", seq, cnt_successful, 100-100*cnt_successful/seq, diff/1000);    if ( cnt_successful > 0 )    {        diffAvg  = diffSum/cnt_successful;        diffMdev = sqrt( diffSum2/cnt_successful - diffAvg*diffAvg );        printf ("rtt min/avg/max/mdev = %0.3lf/%0.3lf/%0.3lf/%0.3lf ms/n", diffMin/1000.,diffAvg/1000.,diffMax/1000.,diffMdev/1000.);    }    return 0;}
开发者ID:guotch,项目名称:tcpping,代码行数:59,


示例29: main

int main(int argc, char** argv){		int i, status;	pid_t forkId;	pid_t * processId;		init(argc,argv);    //int j;    //for(j=0; j < 10; j++){	//get time here	struct timeval tvBegin, tvEnd, tvDiff;				processId = (pid_t *)malloc(sizeof(pid_t) * (numUnixProcess - 1));	if(NULL == processId){		printf("error");		exit(1);	}		gettimeofday(&tvBegin, NULL);		printf("starting.../n");	////////////////////////////////////////////////////////////////////	for(i = 1; i < numUnixProcess; i++){			forkId = fork();						if(forkId != 0){				//processo pai				UnixProcessFunction(0);			}else{				//processo forked				UnixProcessFunction(i);				exit(0);			}			//printf("/nProcesso %d/n", forkId);			processId[i-1] = forkId;				}		waitpid(forkId, &status, 0);		////////////////////////////////////////////////////////////////////	//get time here	gettimeofday(&tvEnd, NULL);  		printf("finish/n");				//print time diff	timeval_subtract(&tvDiff, &tvEnd, &tvBegin);    printf("/n/tTime elapsed = %ld.%06ld/n", tvDiff.tv_sec, tvDiff.tv_usec);	//}        writeMatrix("out.txt",matrixResult,mResultlines,mResultcolumns);	return 1;}
开发者ID:raffaelnagel,项目名称:Sisop-II,代码行数:59,


示例30: duration_measure

int duration_measure(struct duration *duration){	struct timeval end;	int retval = gettimeofday(&end, NULL);	if (0 == retval)		timeval_subtract(&duration->elapsed, &end, &duration->start);	return retval;}
开发者ID:FelixVi,项目名称:openocd,代码行数:8,



注:本文中的timeval_subtract函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ timeval_to_ns函数代码示例
C++ timeval_diff函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。