{"id":29651484,"url":"https://github.com/davvid/rmtree","last_synced_at":"2025-07-22T05:36:04.583Z","repository":{"id":305427814,"uuid":"1022853894","full_name":"davvid/rmtree","owner":"davvid","description":"rmtree removes files and directory trees quickly by performing removals in parallel. Official mirror of https://gitlab.com/davvid/rmtree","archived":false,"fork":false,"pushed_at":"2025-07-20T03:30:44.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-20T04:01:34.823Z","etag":null,"topics":["deletion","filesystem","rm","rmtree"],"latest_commit_sha":null,"homepage":"https://gitlab.com/davvid/rmtree","language":"Rust","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davvid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["davvid"],"patreon":"daveinthesky"}},"created_at":"2025-07-20T01:33:17.000Z","updated_at":"2025-07-20T03:28:04.000Z","dependencies_parsed_at":"2025-07-20T04:01:43.524Z","dependency_job_id":"f26d6c59-f8fc-46ad-a72f-1595dcc08453","html_url":"https://github.com/davvid/rmtree","commit_stats":null,"previous_names":["davvid/rmtree"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/davvid/rmtree","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davvid%2Frmtree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davvid%2Frmtree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davvid%2Frmtree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davvid%2Frmtree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davvid","download_url":"https://codeload.github.com/davvid/rmtree/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davvid%2Frmtree/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266434295,"owners_count":23927946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deletion","filesystem","rm","rmtree"],"created_at":"2025-07-22T05:35:41.112Z","updated_at":"2025-07-22T05:36:04.573Z","avatar_url":"https://github.com/davvid.png","language":"Rust","funding_links":["https://github.com/sponsors/davvid","https://patreon.com/daveinthesky"],"categories":[],"sub_categories":[],"readme":"# rmtree\n\n`rmtree` is a faster `rm -rf`.\n\n`rmtree` speeds up recursive file and directory removal by performing filesystem\ntraversals and removals in parallel.\n\n```bash\n# Install the \"rmtree\" command-line tool.\ncargo install rmtree\n\nrmtree --help\nrmtree /large/nested/directory /trees/quickly\n```\n\n## Documentation\n\nRun `rmtree --help` for command-line usage details.\n\n* [rmtree API documentation on docs.rs](https://docs.rs/rmtree/latest/rmtree/)\n\n\n## Installation\n\n* [Pre-built rmtree binaries](https://github.com/davvid/rmtree/releases)\n\nPre-built `rmtree` binaries are statically linked using\n[musl libc](https://musl.libc.org/) so that they can run on any Linux system.\n\n## Benchmarks\n\nThese timings were gathered on a 40 core Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHz.\nThe storage was accessed over NFS against a live cluster from a Linux host.\n\nA modestly-sized C++ project with build artifacts was used in these measurements.\nThe test directory contains 1663 directories and 5822 files totalling 12 GB.\nThis skews towards many small files and many directories.\n\n### Timings\n\nAll timings were performed with a warm NFS cache.\nAs a read-only baseline, timings for `find` and [sharkdp/fd](https://github.com/sharkdp/fd) are included.\n\n| Command           | Time (s)  |\n|-------------------|-----------|\n| `fd`              | 0.249     |\n| `find`            | 0.448     |\n\nThe following table summarizes the timings for `rm -rf` from GNU coreutils 8.32 and\n`rmtree` with different thread settings.\n\n| Command           | Time (s)  | Speedup   | Scaling   | Normalized    |\n|-------------------|-----------|-----------|-----------|---------------|\n| `rm -rf`          | 25.697    |  1.000    |           |               |\n| `rmtree -t 1`     | 23.729    |  1.083    |  1.000    | 1.000         |\n| `rmtree -t 2`     | 11.146    |  2.305    |  2.129    | 1.064         |\n| `rmtree -t 3`     |  7.866    |  3.267    |  3.017    | 1.006         |\n| `rmtree -t 4`     |  5.476    |  4.693    |  4.333    | 1.083         |\n| `rmtree -t 5`     |  4.556    |  5.640    |  5.208    | 1.042         |\n| `rmtree -t 6`     |  4.041    |  6.359    |  5.872    | 0.978         |\n| `rmtree -t 7`     |  3.581    |  7.176    |  6.626    | 0.947         |\n| `rmtree -t 8`     |  3.039    |  8.456    |  7.808    | 0.976         |\n| `rmtree -t 9`     |  2.712    |  9.475    |  8.750    | 0.972         |\n| `rmtree -t 10`    |  2.635    |  9.752    |  9.005    | 0.901         |\n| `rmtree -t 11`    |  2.179    | 11.793    | 10.890    | 0.990         |\n| `rmtree -t 12`    |  2.039    | 12.603    | 11.638    | 0.970         |\n| `rmtree -t 16`    |  1.941    | 13.239    | 12.225    | 0.764         |\n| `rmtree -t 20`    |  1.634    | 15.726    | 14.522    | 0.726         |\n| `rmtree -t 24`    |  1.354    | 18.979    | 17.525    | 0.730         |\n| `rmtree -t 32`    |  1.655    | 15.527    | 14.338    | 0.448         |\n\nRelative performance is the performance relative to `rm -rf`.\nThread scaling is measured relative to `rmtree -j1`.\n\nThe sweet spot on the number of threads for maximum efficiency will vary depending on\nyour specific storage and hardware. In this specific test, we can see negative\nconsequences from adding more threads in the jump from 24 to 32 threads.\n\n\n## Links\n\n* [rmtree on crates.io](https://crates.io/crates/rmtree)\n\n\n## Code Status\n\n[![Build status](https://gitlab.com/davvid/rmtree/badges/main/pipeline.svg)](https://gitlab.com/davvid/rmtree/-/pipelines)\n[![MIT License](https://img.shields.io/gitlab/license/davvid/rmtree.svg)](LICENSE)\n\n`rmtree` is actively maintained and its core functionality is stable and feature-complete.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavvid%2Frmtree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavvid%2Frmtree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavvid%2Frmtree/lists"}