问题描述:
我的项目中需要多次对一个路径是否存在进行判断(采用boost::filesystem::exists()),然后进行计算操作,程序运行时发现cpu的利用率只有6%,而将判断路径是否存在的代码注释掉后,cpu的利用率直接达到95%。
初步测试:
怀疑与需要判断的路径为网络路径有关,后续通过将文件放到本地机器,再次运行,cpu利用率直线升高。
对比测试:
采用多线程for循环对同一路径进行10000次访问(仅访问),
当路径为网络路径时耗时:20352ms,
当路径为本地路径时耗时:89ms;
结论:
boost::filesystem::exists()访问网络路径耗时大概为访问本地路径的200倍
boost::filesystem::exists()访问网络路径耗时
最新推荐文章于 2024-11-15 11:31:27 发布