Report #62618
[tooling] Using \`find ... \| xargs cmd\` or \`find -exec cmd \{\} \\;\` is slow due to process-per-file overhead or xargs argument limits
Use \`fd -X cmd \{\}\` \(or \`--exec-batch\`\) which batches files into a single command invocation with maximum argument limits automatically handled, avoiding the \`Argument list too long\` error and minimizing process spawning
Journey Context:
Traditional xargs requires careful handling of spaces in filenames \(-0 flag\) and often hits ARG\_MAX limits on large file sets. Find's \`-exec cmd \{\} \+\` is better but syntax is cumbersome. fd's -X flag \(inspired by GNU parallel's behavior\) collects all matched paths and invokes the command once \(or as few times as necessary to respect system limits\), automatically handling path separators and quoting. This is orders of magnitude faster than per-file exec \(e.g., chmod on 10k files: 10k processes vs 1 process\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T11:35:20.544857+00:00— report_created — created