Bạn hãy chạy thử dòng code này
#include <iostream>
#include <ctime>
#define size 64 * 1024 * 1024
using namespace std;
int arr[size];
int main(){
const clock_t begin_time = clock();
//for (int i = 0; i < size; i++) arr[i] *= 3;
for (int i = 0; i < size; i += 16) arr[i] *= 3;
std::cout << float( clock () - begin_time ) / CLOCKS_PER_SEC;
}
sau đó bỏ cái dòng có i+=16 đi và bật cái dòng trên lên
so sánh thời gian chạy của 2 vòng, mặc dù vòng dưới thực hiện ít hơn 1/16, nhưng thời gian đưa ra lại chỉ bằng 1 nửa?