本文整理汇总了C++中read_timer函数的典型用法代码示例。如果您正苦于以下问题:C++ read_timer函数的具体用法?C++ read_timer怎么用?C++ read_timer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了read_timer函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: main
int main( int argc, char **argv )
{
if( find_option( argc, argv, "-h" ) >= 0 )
{
printf( "Options:\n" );
printf( "-h to see this help\n" );
printf( "-n <int> to set the number of particles\n" );
printf( "-o <filename> to specify the output file name\n" );
return 0;
}
int n = read_int( argc, argv, "-n", 1000 );
char *savename = read_string( argc, argv, "-o", NULL );
FILE *fsave = savename ? fopen( savename, "w" ) : NULL;
particle_t *particles = (particle_t*) malloc( n * sizeof(particle_t) );
set_size( n );
init_particles( n, particles );
//
// simulate a number of time steps
//
double simulation_time = read_timer( );
run_simulation(particles, n, fsave);
simulation_time = read_timer( ) - simulation_time;
printf( "n = %d, simulation time = %g seconds\n", n, simulation_time );
free( particles );
if( fsave )
fclose( fsave );
return 0;
}
开发者ID:CuppoJava,项目名称:CS267-HW2,代码行数:35,代码来源:misha_serial2.cpp
示例2: main
int main(int argc, char *argv[]) {
int N = VECTOR_LENGTH;
int num_tasks = 4;
double elapsed; /* for timing */
if (argc < 3) {
fprintf(stderr, "Usage: sum [<N(%d)>] [<#tasks(%d)>]\n", N,num_tasks);
fprintf(stderr, "\t Example: ./sum %d %d\n", N,num_tasks);
} else {
N = atoi(argv[1]);
num_tasks = atoi(argv[2]);
}
REAL *A = (REAL*)malloc(sizeof(REAL)*N);
srand48((1 << 12));
init(A, N);
/* example run */
elapsed = read_timer();
REAL result = sum(N, A);
elapsed = (read_timer() - elapsed);
/* more runs */
/* you should add the call to each function and time the execution */
printf("======================================================================================================\n");
printf("\tSum %d numbers with %d tasks\n", N, num_tasks);
printf("------------------------------------------------------------------------------------------------------\n");
printf("Performance:\t\tRuntime (ms)\t MFLOPS \n");
printf("------------------------------------------------------------------------------------------------------\n");
printf("Sum:\t\t\t%4f\t%4f\n", elapsed * 1.0e3, 2*N / (1.0e6 * elapsed));
free(A);
return 0;
}
开发者ID:teij04,项目名称:Project2,代码行数:33,代码来源:sum.c
示例3: main
/* read command line, initialize, and create threads */
int main(int argc, char *argv[]) {
int i, j;
long l; /* use long in case of a 64-bit system */
pthread_attr_t attr;
pthread_t workerid[MAXWORKERS];
/* set global thread attributes */
pthread_attr_init(&attr);
pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM);
/* initialize mutex and condition variable */
pthread_mutex_init(&updatelock, NULL);
pthread_mutex_init(&baglock, NULL);
pthread_cond_init(&finished, NULL);
final_num_workers = 0;
final_min = 1000;
current_row = 0;
/* read command line args if any */
size = (argc > 1)? atoi(argv[1]) : MAXSIZE;
numWorkers = (argc > 2)? atoi(argv[2]) : MAXWORKERS;
if (size > MAXSIZE) size = MAXSIZE;
if (numWorkers > MAXWORKERS) numWorkers = MAXWORKERS;
/* initialize random seed */
srand ( time(NULL) );
/* initialize the matrix */
for (i = 0; i < size; i++) {
for (j = 0; j < size; j++) {
matrix[i][j] = rand()%99;
}
}
/* print the matrix */
#ifdef DEBUG
for (i = 0; i < size; i++) {
printf("[ ");
for (j = 0; j < size; j++) {
printf(" %d", matrix[i][j]);
}
printf(" ]\n");
}
#endif
/* do the parallel work: create the workers */
start_time = read_timer();
for (l = 0; l < numWorkers; l++)
pthread_create(&workerid[l], &attr, Worker, (void *) l);
pthread_cond_wait(&finished, &updatelock);
end_time = read_timer();
print_result();
pthread_exit(NULL);
}
开发者ID:gauravalgo,项目名称:pps13,代码行数:61,代码来源:matrixSum.c
示例4: main
int main(int argc, char **argv) {
std::string interleaving;
if (argc > 1) {
interleaving = argv[1];
} else {
interleaving = "";
}
for( int n = 1000; n <= 10000000; n *= 10 ) {
std::vector<Point*> S;
for( int i = 0; i < n; i++ ) {
S.push_back( new Point );
S.back()->index = i;
S.back()->x = drand48();
S.back()->y = drand48();
}
double stime = read_timer();
DelaunayProblem *problem = new DelaunayProblem(&S, 0, n);
Framework::solve(problem, interleaving);
printf("%d time %f\n", n, read_timer()-stime);
delete problem;
}
}
开发者ID:dose78,项目名称:FRPA,代码行数:28,代码来源:delaunay_harness.cpp
示例5: main
//
// benchmarking program
//
int main( int argc, char **argv )
{
if( find_option( argc, argv, "-h" ) >= 0 )
{
printf( "Options:\n" );
printf( "-h to see this help\n" );
printf( "-n <int> to set the number of particles\n" );
printf( "-o <filename> to specify the output file name\n" );
return 0;
}
int n = read_int( argc, argv, "-n", 1000 );
char *savename = read_string( argc, argv, "-o", NULL );
FILE *fsave = savename ? fopen( savename, "w" ) : NULL;
particle_t *particles = (particle_t*) malloc( n * sizeof(particle_t) );
set_size( n );
init_particles( n, particles );
//
// simulate a number of time steps
//
double simulation_time = read_timer( );
for( int step = 0; step < NSTEPS; step++ )
{
//
// compute forces
//
for( int i = 0; i < n; i++ )
{
particles[i].ax = particles[i].ay = 0;
for (int j = 0; j < n; j++ )
apply_force( particles[i], particles[j] );
}
//
// move particles
//
for( int i = 0; i < n; i++ )
move( particles[i] );
//
// save if necessary
//
if( fsave && (step%SAVEFREQ) == 0 )
save( fsave, n, particles );
}
simulation_time = read_timer( ) - simulation_time;
printf( "n = %d, simulation time = %g seconds\n", n, simulation_time );
free( particles );
if( fsave )
fclose( fsave );
return 0;
}
开发者ID:Darkmush,项目名称:ppsProjVT12,代码行数:61,代码来源:serial.cpp
示例6: do_seq_quicksort
// For benchmark purposes, makes a clean copy of array to sort
// before calling sequential quicksort
void do_seq_quicksort() {
int *arr_cpy = malloc(sizeof (array));
memcpy(arr_cpy, array, sizeof (array));
double start = read_timer();
sequential_quicksort(arr_cpy, 0, size);
double end = read_timer();
printf("Sequential quicksort time: %f\n", (end - start));
free(arr_cpy);
}
开发者ID:kimpers,项目名称:school_work,代码行数:11,代码来源:MuliThreadQuickSort.c
示例7: __udelay
void __udelay(unsigned long usec)
{
unsigned long long target;
read_timer();
target = timer.ticks + usecs_to_ticks(usec);
while (timer.ticks < target)
read_timer();
}
开发者ID:Jack-Code-Farmer,项目名称:u-boot-imx6,代码行数:11,代码来源:timer.c
示例8: main
int main( int argc, char **argv ) {
initCommunication( &argc, &argv );
// make up a simple test
int size = read_int( argc, argv, "-s", 8 );
int r = read_int( argc, argv, "-r", 2 );
int P;
MPI_Comm_size( MPI_COMM_WORLD, &P );
initSizes( P, r, size );
if( getRank() == 0 ) {
if( P > (1<<r) )
printf("Need more recursive steps for this many processors\n");
if( P > (size/(1<<r))*(size/(1<<r)+1)/2)
printf("Need a bigger matrix/fewer recursive steps for this many processors\n");
printf("-s %d -r %d -n %d\n", size, r, P);
}
int sizeSq = getSizeSq(r,P);
int sizeTri = getSizeTri(r,P);
double *X = (double*) malloc( sizeSq*sizeof(double) );
srand48(getRank());
fill(X,sizeSq);
double *A = (double*) malloc( sizeTri*sizeof(double) );
if( getRank() == 0 )
printf("Generating a symmetric positive definite test matrix\n");
initTimers();
MPI_Barrier( MPI_COMM_WORLD );
double st2 = read_timer();
syrk( A, X, size, P, r, 0. );
MPI_Barrier( MPI_COMM_WORLD );
double et2 = read_timer();
if( getRank() == 0 )
printf("Generation time: %f\n", et2-st2);
initTimers();
free(X);
for( int i = 0; i < sizeTri; i++ )
A[i] = -A[i];
if( getRank() == 0 )
printf("Starting benchmark\n");
MPI_Barrier( MPI_COMM_WORLD );
double startTime = read_timer();
chol( A, size, P, r );
MPI_Barrier( MPI_COMM_WORLD );
double endTime = read_timer();
if( getRank() == 0 )
printf("Time: %f Gflop/s %f\n", endTime-startTime, size*1.*size*size/3./(endTime-startTime)/1.e9);
free(A);
printCounters(size);
MPI_Finalize();
}
开发者ID:benjamingr,项目名称:CAPS,代码行数:53,代码来源:bench-chol.cpp
示例9: __udelay
/* delay x useconds */
void __udelay(unsigned long usec)
{
long tmo = USEC_TO_COUNT(usec);
ulong now, last = read_timer();
while (tmo > 0) {
now = read_timer();
if (now > last) /* normal (non rollover) */
tmo -= now - last;
else /* rollover */
tmo -= TIMER_LOAD_VAL - last + now;
last = now;
}
}
开发者ID:BWhitten,项目名称:u-boot,代码行数:15,代码来源:timer.c
示例10: reset_timer_count
/*
* Reset the timer
*/
void reset_timer_count(void)
{
/* capure current decrementer value time */
gd->lastinc = read_timer();
/* start "advancing" time stamp from 0 */
gd->tbl = 0;
}
开发者ID:Adrizcorp,项目名称:ARM_SOC_FPGA,代码行数:10,代码来源:timer.c
示例11: dotcpwatch
int dotcpwatch (int argc, char** argv, void *p)
{
if(argc < 2)
{
tprintf ("TCP Watch Dog timer %d/%d seconds\n",
read_timer (&TcpWatchTimer)/1000,
dur_timer(&TcpWatchTimer)/1000);
return 0;
}
stop_timer (&TcpWatchTimer); /* in case it's already running */
/* what to call on timeout */
TcpWatchTimer.func = (void (*)(void*))dowatchtick;
TcpWatchTimer.arg = NULLCHAR; /* dummy value */
/* set timer duration */
set_timer (&TcpWatchTimer, (uint32)atoi (argv[1])*1000);
start_timer (&TcpWatchTimer); /* and fire it up */
return 0;
}
开发者ID:mlangelaar,项目名称:jnos2,代码行数:25,代码来源:tcpwatch.c
示例12: do_parallel_quicksort
// Starts multithreaded quicksort
void do_parallel_quicksort() {
range array_range = {0, size - 1};
/* set global thread attributes */
pthread_t worker;
pthread_attr_init(&attr);
pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM);
double start = read_timer();
pthread_create(&worker, &attr, quicksort, (void *) &array_range);
pthread_attr_destroy(&attr);
pthread_join(worker, NULL);
double end = read_timer();
printf("Time: %f\n", (end - start));
}
开发者ID:kimpers,项目名称:school_work,代码行数:17,代码来源:MuliThreadQuickSort.c
示例13: write_intr
static void write_intr(void)
{
struct request *req = hd_req;
int i;
int retries = 100000;
do {
i = (unsigned) inb_p(HD_STATUS);
if (i & BUSY_STAT)
continue;
if (!OK_STATUS(i))
break;
if ((blk_rq_sectors(req) <= 1) || (i & DRQ_STAT))
goto ok_to_write;
} while (--retries > 0);
dump_status("write_intr", i);
bad_rw_intr();
hd_request();
return;
ok_to_write:
if (hd_end_request(0, 512)) {
SET_HANDLER(&write_intr);
outsw(HD_DATA, req->buffer, 256);
return;
}
#if (HD_DELAY > 0)
last_req = read_timer();
#endif
hd_request();
}
开发者ID:debugevery,项目名称:android-kernel-samsung-dev,代码行数:32,代码来源:hd.c
示例14: worker
/* Each worker sums the values in one strip of the matrix.
After a barrier, worker(0) computes and prints the total */
void *Worker(void *arg) {
long myid = (long) arg;
int total, i, j, first, last;
#ifdef DEBUG
printf("worker %d (pthread id %d) has started\n", myid, pthread_self());
#endif
/* determine first and last rows of my strip */
first = myid*stripSize;
last = (myid == numWorkers - 1) ? (size - 1) : (first + stripSize - 1);
/* sum values in my strip */
total = 0;
for (i = first; i <= last; i++)
for (j = 0; j < size; j++)
total += matrix[i][j];
sums[myid] = total;
Barrier();
if (myid == 0) {
total = 0;
for (i = 0; i < numWorkers; i++)
total += sums[i];
/* get end time */
end_time = read_timer();
/* print results */
printf("The total is %d\n", total);
printf("The execution time is %g sec\n", end_time - start_time);
}
}
开发者ID:jonac,项目名称:concurrent_prog,代码行数:32,代码来源:matrixSum.c
示例15: reset_timer_masked
void reset_timer_masked(void)
{
/* reset time */
gd->lastinc = read_timer();
gd->timer_reset_value = 0;
}
开发者ID:jamez70,项目名称:real6410-u-boot-2011.06,代码行数:7,代码来源:timer.c
示例16: hd_out
static void hd_out(struct hd_i_struct *disk,
unsigned int nsect,
unsigned int sect,
unsigned int head,
unsigned int cyl,
unsigned int cmd,
void (*intr_addr)(void))
{
unsigned short port;
#if (HD_DELAY > 0)
while (read_timer() - last_req < HD_DELAY)
/* nothing */;
#endif
if (reset)
return;
if (!controller_ready(disk->unit, head)) {
reset = 1;
return;
}
SET_HANDLER(intr_addr);
outb_p(disk->ctl,HD_CMD);
port=HD_DATA;
outb_p(disk->wpcom>>2,++port);
outb_p(nsect,++port);
outb_p(sect,++port);
outb_p(cyl,++port);
outb_p(cyl>>8,++port);
outb_p(0xA0|(disk->unit<<4)|head,++port);
outb_p(cmd,++port);
}
开发者ID:3sOx,项目名称:asuswrt-merlin,代码行数:31,代码来源:hd.c
示例17: timer_init
/*
* init the Timer
*/
int timer_init(void)
{
struct panthapb_registers *apb1clkres =
(struct panthapb_registers *) PANTHEON_APBC_BASE;
struct panthtmr_registers *panthtimers =
(struct panthtmr_registers *) PANTHEON_TIMER_BASE;
/* Enable Timer clock at 3.25 MHZ */
writel(APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(3), &apb1clkres->timers);
/* load value into timer */
writel(0x0, &panthtimers->clk_ctrl);
/* Use Timer 0 Match Resiger 0 */
writel(TIMER_LOAD_VAL, &panthtimers->match[MATCH_CMP(0)]);
/* Preload value is 0 */
writel(0x0, &panthtimers->preload[TIMER]);
/* Enable match comparator 0 for Timer 0 */
writel(0x1, &panthtimers->preload_ctrl[TIMER]);
/* Enable timer 0 */
writel(0x1, &panthtimers->cer);
/* init the gd->tbu and gd->tbl value */
gd->tbl = read_timer();
gd->tbu = 0;
return 0;
}
开发者ID:Adrizcorp,项目名称:ARM_SOC_FPGA,代码行数:30,代码来源:timer.c
示例18: test_loop_speed_inversetransform
test_loop_speed_inversetransform(void)
{
struct weston_matrix m;
struct inverse_matrix inv;
struct weston_vector v = { { 0.5, 0.5, 0.5, 1.0 } };
unsigned long count = 0;
double t;
printf("\nRunning 3 s test on inverse_transform()...\n");
weston_matrix_init(&m);
matrix_invert(inv.LU, inv.perm, &m);
running = 1;
alarm(3);
reset_timer();
while (running) {
inverse_transform(inv.LU, inv.perm, v.f);
count++;
}
t = read_timer();
printf("%lu iterations in %f seconds, avg. %.1f ns/iter.\n",
count, t, 1e9 * t / count);
}
开发者ID:Nealefelaen,项目名称:weston-rift,代码行数:25,代码来源:matrix-test.c
示例19: recal_intr
static void recal_intr(void)
{
check_status();
#if (HD_DELAY > 0)
last_req = read_timer();
#endif
hd_request();
}
开发者ID:3sOx,项目名称:asuswrt-merlin,代码行数:8,代码来源:hd.c
示例20: next_timer_event
int32
next_timer_event(void)
{
if (Timers)
return read_timer(Timers);
else
return 0x7fffffff;
}
开发者ID:dieterdeyke,项目名称:WAMPES,代码行数:8,代码来源:timer.c
注:本文中的read_timer函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论