Created
July 20, 2018 04:48
-
-
Save daramkun/511d7c5aac33ad69552ce547f7e3ddb7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Windows.h> | |
#include <cstdio> | |
#include <cstdint> | |
#define LOOP_REPEAT 10 | |
#define LOOP_COUNT 48000 * 6 | |
int main() | |
{ | |
int8_t buffer1 [ LOOP_COUNT ]; | |
int16_t buffer2 [ LOOP_COUNT ]; | |
LARGE_INTEGER freq, start, end; | |
QueryPerformanceFrequency ( &freq ); | |
QueryPerformanceCounter ( &start ); | |
for ( int c = 0; c < LOOP_REPEAT; ++c ) | |
for ( int i = 0; i < LOOP_COUNT; ++i ) | |
buffer2 [ i ] = buffer1 [ i ] * 256; | |
QueryPerformanceCounter ( &end ); | |
printf ( "Plain For: %lfms\n", ( end.QuadPart - start.QuadPart ) / ( double ) freq.QuadPart ); | |
QueryPerformanceCounter ( &start ); | |
for ( int c = 0; c < LOOP_REPEAT; ++c ) | |
#pragma omp parallel for | |
for ( int i = 0; i < LOOP_COUNT; ++i ) | |
buffer2 [ i ] = buffer1 [ i ] * 256; | |
QueryPerformanceCounter ( &end ); | |
printf ( "OpenMP For: %lfms\n", ( end.QuadPart - start.QuadPart ) / ( double ) freq.QuadPart ); | |
return 0; | |
} |
LOOP_REPEAT
: 1
Plain For: 0.000709ms
OpenMP For: 0.000903ms
Test Environment
CPU: AMD Ryzen 5 2600X
RAM: DDR4 32GB(Dual Channels) 2400MHz
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
LOOP_REPEAT
: 10Plain For: 0.010821ms
OpenMP For: 0.002598ms