3 ms·
I'm willing to bet it's the fact that they're in a git repo. exa checks git status iirc, and of course ls doesn't. I'll try to repro it. Edit: Hmm, interestin
by xxpor 5y ago
I'm willing to bet it's the fact that they're in a git repo. exa checks git status iirc, and of course ls doesn't. I'll try to repro it.
Edit:
Hmm, interesting. Certainly a lot slower, but not enough that I'd really notice unless I was doing this constantly:
time ls
real 0m0.228s
user 0m0.145s
sys 0m0.082s
time exa
real 0m1.209s
user 0m1.124s
sys 0m0.084s
- esprehn 5y agoYeah at first I thought maybe the git feature but in the demo they're not passing --git. See also: https://github.com/ogham/exa/issues/367#issuecomment-428590907 https://github.com/ogham/exa/issues/367#issuecomment-4285909... ls taking seconds and exa taking 13 minutes :( Their website says it's as fast as ls because they do things in parallel but it doesn't seem to actually be as fast as ls in small or large usage. I'd also say 200ms -> 1.2 seconds is very noticable.
- lilyball 5y agoExa does colors and other stuff by default. I would wager it’s stat()ing every file and ls isn’t.
- xxpor 5y ago>I'd also say 200ms -> 1.2 seconds is very noticable. One of those things that if I'm looking for it, I'd notice but otherwise... I deal with so many slow CLI tools daily that it wouldn't even register.
- xxpor 5y agoBased on perf report, the latest stable version of exa is spending >99% of its time doing grid stuff. I pulled the repo from git, and using the latest master commit, it appears to have a huristic to not bother with the grid when you have lots of files. Now the times are a lot closer. (redirected stdout to /dev/null since otherwise the vast majority of the time would simply be outputting to the shell) [user@anarchy:~/exa_test]$ time ../exa/target/release/exa >/dev/null ../exa/target/release/exa > /dev/null 0.05s user 0.07s system 99% cpu 0.122 total [user@anarchy:~/exa_test]$ time /bin/ls >/dev/null /bin/ls > /dev/null 0.03s user 0.01s system 99% cpu 0.048 total