Last active
September 2, 2021 04:20
-
-
Save mmdts/99c496f4ae041ec0f94748ddb15644e4 to your computer and use it in GitHub Desktop.
OS Cycleはタイマーの制度を変化する証明
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
delta_stat_nsec: 6886112047640834662 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_t_prog (ns): 2985844 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
delta_stat_nsec: 6886111528857621633 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 3999994 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 3999993 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_stat_nsec: 0 | |
delta_t_prog (ns): 10197984 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <sys/stat.h> | |
#include <unistd.h> | |
#include <fcntl.h> | |
#include <time.h> | |
#include <stdlib.h> | |
int main () { | |
int i = 100; // 百回試す! | |
struct stat st, st_old; // 比べたいから | |
struct timespec tstart, tend; // いつ始めたは、いつ終わったか | |
system("mkdir -p ./hoge"); // tmpじゃなくて、ここで置いていこう! | |
clock_gettime(CLOCK_MONOTONIC, &tstart); // はじまりの時 | |
while(i--) { | |
unlink("./hoge/foo"); | |
symlink("aaa", "./hoge/foo"); | |
st_old = st; // コピーする | |
stat("./hoge", &st); | |
printf("delta_stat_nsec: %lld\n", (st.st_mtim.tv_sec - st_old.st_mtim.tv_sec) * 1000000000llu + (st.st_mtim.tv_nsec - st_old.st_mtim.tv_nsec)); | |
// ここは一番大事!!!! | |
// usleep(10); // Uncomment this line and see what happens. | |
} | |
clock_gettime(CLOCK_MONOTONIC, &tend); // 終わりの時 | |
printf("delta_t_prog (ns): %lld\n", (tend.tv_sec - tstart.tv_sec) * 1000000000llu + tend.tv_nsec - tstart.tv_nsec); | |
system("rm -rf ./hoge"); // お掃除をしよう! | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment