Re: Bad file access on the rise

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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:

# 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





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux