Почему один поток быстрее, чем просто вызов функции, mingw
При вызове функции время выполнения составляет 6,8 сек. Вызов его из потока занимает 3,4 с, а при использовании 2 потока - 1,8 с. Независимо от того, какую оптимизацию я использую, рационы остаются неизменными.
В Visual Studio время, как ожидается, составляет 3,1, 3 и 1,7 сек.
#include
#include
#include
#include
using namespace std;
#define N 400
float a[N][N];
struct b{
int begin;
int end;
};
DWORD WINAPI thread(LPVOID p)
{
b b_t = *(b*)p;
for(int i=0;i