菜单

探测读目录所消耗的时间函数

2019年8月2日 - 4166am金沙下载
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
#include <errno.h>
#include <sys/time.h>

float spend_time(const char *dirname);

int main(int argc, char **argv)
{
    int i;
    float time_count = 0;

    for(i = 0; i < 10000; i++) {
        time_count = spend_time(argv[1]);
    }

    fprintf(stdout, "Spend time is %8f\\n", time_count);

    return 0;
}

float spend_time(const char *dirname)
{
    DIR * dir;
    struct dirent *dirp;
    struct timeval tpstart, tpend;
    float timeuse;

    gettimeofday(&tpstart, NULL);

    if((dir = opendir(dirname)) == NULL) {
        fprintf(stderr, "Open dir failed: %s\\n", strerror(errno));
        exit(0);
    }
    while((dirp = readdir(dir)) != NULL)
        ;
    closedir(dir);
    gettimeofday(&tpend, NULL);

    timeuse = 1000000 * (tpend.tv_sec - tpstart.tv_sec) + tpend.tv_usec -tpstart.tv_usec;

    return timeuse/1000000;
}
//该片段来自于http://outofmemory.cn

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图