ex 1 0 값 swap 되는 속도 궁금해서 테스트하는데 존나 느리네..


소스가 잘못 됬나?


using namespace std;

using namespace chrono;

int main() {

// your code goes here

int a = 1, b = 2;

int *p_a = &a;

int *p_b = &b;

int idx = 0;

long long count = 100000001;

system_clock::time_point start = system_clock::now();

int* temp;

while(count > 0)

{

temp = p_a;

p_a = p_b;

p_b = temp;

count--;

}


system_clock::time_point end = system_clock::now();

duration<double> sec = end - start;

printf("%d %lf\n", *p_a, sec);


count = 100000001;

start = system_clock::now();

while (count > 0)

{

idx ^= 1;

count--;

}

end = system_clock::now();

sec = end - start;

printf("%d %lf\n",idx, sec);


count = 100000001;

start = system_clock::now();

while (count > 0)

{

std::swap(p_a, p_b);

count--;

}

end = system_clock::now();

sec = end - start;

printf("%d %lf\n", p_a, sec);

return 0;

}