On 06/08/2013 09:53 AM, Steve Grubb wrote: > On Saturday, June 08, 2013 09:34:22 AM Steve Grubb wrote: >> Does opening with noatime really make a measurable difference (assuming it >> worked)? I suspect not since what we have now is 2 syscalls. It would >> probably be faster to load icons without trying to set NOATIME. > > Answering my own question.... > > #include <stdio.h> > #define __USE_GNU > #include <fcntl.h> > #include <unistd.h> > #include <string.h> > > void noatime(void) > { > int fd = open("/usr/share/icons/hicolor/48x48/apps/firefox.png", O_RDONLY|O_NOATIME); > if (fd>=0) > close(fd); > else { > fd = open("/usr/share/icons/hicolor/48x48/apps/firefox.png", O_RDONLY); > if (fd>=0) > close(fd); > } > } > > void atime(void) > { > int fd = open("/usr/share/icons/hicolor/48x48/apps/firefox.png", O_RDONLY); > if (fd>=0) > close(fd); > } > > int main(int argc, char *argv[]) > { > int i, mode=0; > if (argc == 2 && strcmp("noatime", argv[1]) == 0) > mode = 1; > > for (i=0; i<5000; i++) { > if (mode) > noatime(); > else > atime(); > } > return 0; > } > > As a normal user: > > $ time ./test noatime > > real 0m12.645s > user 0m0.003s > sys 0m0.159s > > $ time ./test atime > > real 0m0.019s > user 0m0.002s > sys 0m0.016s > > Way faster doing a normal open. As root: Bad test. The first run took the hit for getting the file info into page cache, after that, everything was run from cache and you got the second result above and the results below. You have to make sure that from run to run the cache state of the file in question is identical. > > # time ./test noatime > > real 0m0.019s > user 0m0.000s > sys 0m0.019s > > # time ./test atime > > real 0m0.019s > user 0m0.001s > sys 0m0.017s > > No real difference between them. > > -Steve > -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel