#include #include #include #include #include #define DATA_SIZE 5*1024*1024 #define MAX_LEN 1*1024*1024 #define LOOP_TIMES 100 int main(){ unsigned int len,ans; char *str1,*src1; str1 = (char *)mmap(NULL, DATA_SIZE, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); struct timespec tv0,tv; for(len=1; len<=MAX_LEN; len*=2) { memset(str1, 'a', DATA_SIZE); src1 = str1; // +offset src1[len] = '\0'; clock_gettime(CLOCK_REALTIME, &tv0); for(int k=0; k