Skip to content

Instantly share code, notes, and snippets.

@daramkun
Created July 20, 2018 04:48
Show Gist options
  • Save daramkun/511d7c5aac33ad69552ce547f7e3ddb7 to your computer and use it in GitHub Desktop.
Save daramkun/511d7c5aac33ad69552ce547f7e3ddb7 to your computer and use it in GitHub Desktop.
#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;
}
@daramkun
Copy link
Author

daramkun commented Jul 20, 2018

LOOP_REPEAT: 10
Plain For: 0.010821ms
OpenMP For: 0.002598ms

@daramkun
Copy link
Author

daramkun commented Jul 20, 2018

LOOP_REPEAT: 1
Plain For: 0.000709ms
OpenMP For: 0.000903ms

@daramkun
Copy link
Author

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