小编wer*_*erk的帖子

如何快速删除数百万个文件

我们使用BOOST1.63 boost::filesystem::remove_all(dir_to_remove)删除包含数百万个文件的文件夹(每个文件的大小为1MB).文件夹"dir_to_remove"具有子文件夹,每个子文件夹的文件不超过1000个.删除所有文件需要10分钟以上.我们使用CentOS6.5.

在检查了operations.cpp之后,我们意识到BOOST实际上使用了Linux rmdirunlink命令:

#   define BOOST_REMOVE_DIRECTORY(P)(::rmdir(P)== 0)
#   define BOOST_DELETE_FILE(P)(::unlink(P)== 0)
Run Code Online (Sandbox Code Playgroud)

文章列出的几种方法在Linux上更有效地删除文件.它建议使用rsync.

如何使用C++快速删除数百万个文件?

c++ boost

6
推荐指数
2
解决办法
592
查看次数

当我在支持 avx2 的机器上编译并在另一台仅支持 avx 的机器上运行二进制文件时,会发生什么?

我在支持 avx2 (Intel E5-2643 V3) 的机器上编译了我的 c++ 程序。它编译并运行得很好。我确认使用了 avx2 指令,因为在分解二进制文件后,我看到了 avx2 指令,例如vpbroadcastd.

然后我在另一台只有 avx 指令集(Intel E5-2643 V2)的机器上运行这个二进制文件。它运行也很好。二进制文件是否在向后兼容的 avx 指令上运行?这个指令是什么?您看到任何潜在的问题吗?

c++ avx avx2

5
推荐指数
1
解决办法
1341
查看次数

标签 统计

c++ ×2

avx ×1

avx2 ×1

boost ×1