3 ms·
No, it's not a fair comparison. For every single file found you start ack again. You compare startup times here. Ack is so slow here because it's a perl script
by dmuc 14y ago
No, it's not a fair comparison.
For every single file found you start ack again. You compare startup times here. Ack is so slow here because it's a perl script. For every single file you start the perl interpreter, and the perl interpreter compiles and interpretes ack every time.
- Evbn 14y agoIt is totally not fair that perl has a slow startup time and doesn't run as a daemon. Grep is cheating by not pulling in a huge runtime.
- mturmon 14y agoI think the point stands. First, without knowing the makeup of files he has, you can't tell how much a corner case this is. It could be 100K small files or 10 large ones. Few care about runtimes for small files, but many care about runtimes for large ones. Also, and probably more importantly, you'd use ack differently in a recursive-find situation. You just "ack" from the top of the tree. The perl interpreter starts only once. I don't think this is a useful benchmark for typical uses of ack.