Click here to Skip to main content
Rate this: bad
Please Sign up or sign in to vote.
See more: C++ Windows
How can i measure sequential read/write speeds?
is there any API, library that can help me?
Posted 18-Mar-14 7:06am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

On most POSIX systems, you can use clock.
#include <time.h>

clock_t start = clock();
clock_t elapsed = clock() - start;
On x86 systems with inline assembly, you can use RDSTC.
long long __declspec(naked) tick()
long long start = tick();
long long elapsed = tick() - start;
Another POSIX API is clock_gettime.
#include <unistd.h>
struct timeval start, elapsed;
clock_gettime(CLOCK_MONOTONIC, &start);
clock_gettime(CLOCK_MONOTONIC, &elapsed);
if (start.tv_usec > elapsed.tv_usec)
elapsed.tv_usec -= start.tv_usec;
elapsed.tv_sec -= start.tv_sec;
// elapsed contains elapsed time in seconds (tv_sec) and microseconds (tv_usec).

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 CHill60 205
1 Sergey Alexandrovich Kryukov 175
2 Zoltán Zörgő 175
3 Richard MacCutchan 175
4 Richard Deeming 170
0 Sergey Alexandrovich Kryukov 9,328
1 OriginalGriff 6,806
2 Peter Leow 4,442
3 Zoltán Zörgő 3,984
4 Richard MacCutchan 2,807

Advertise | Privacy | Mobile
Web01 | 2.8.150129.1 | Last Updated 18 Mar 2014
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100