On 1/3/19 10:44 AM, Robert Yang wrote:
We have the following 3 ways to delete a build directory: * rm -fr build * find -delete build * rsync -a --delete emtpy_dir build I've heard that rsync is the fastest way for removing millions of files, so I did a test on removing the build dir: * Host info: $ cat /etc/issue Ubuntu 14.04.4 LTS \n \l $ rm --version rm (GNU coreutils) 8.21 $ find --version find (GNU findutils) 4.4.2 $ rsync --version rsync version 3.1.0 protocol version 31
BTW, the filesystem is ext4. // Robert
* Do a build $ . oe-init-build-env build $ bitbake core-image-minimal * Size: $ du -sh build 22G * Files amount: $ find build -type f | pv -l >/dev/null 2.61M 2.61 millions files * Make 3 copies: $ cp -r build build_copy_1 $ cp -r build build_copy_2 $ cp -r build build_copy_3 * Remove them: $ time rm -fr build_copy_1/ real 3m26.249s user 0m4.612s sys 1m1.704s $ time find build_copy_2/ -delete real 3m6.771s user 0m4.236s sys 0m59.592s $ time rsync -a --delete empty/ build_copy_3/ real 5m7.115s user 0m8.612s sys 1m13.928s We can see that find -delete is the fastest way, rsync is the slowest one, and rm is close to find. Maybe it is because find and rsync are improved in nowadays, so they are faster than rsync.
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core