Earlier quoted context omitted.
If you do any sort of work on Middling-to-Fairly-Big Data, eshell is not for you. I love emacs, and would love to love eshell, but I prefer running grep/awk/sed/etc in tmux since it's just soo much faster. And of course, if you need to use any sort of curses type thing, eshell (or M-x shell) often fails in ugly ways.
I upvoted you because I think you present a fair point, especially about "big data" and curses programs, though I recently noticed that top is behaving well in emacs and I don't think it was before, so maybe it's getting better and I need to revisit some of my old workflows to see if I can incorporate them. As for running grep/awk/sed in tmux being fast, I don't doubt running the individual program and getting your r…
Sorry, I never meant elisp grep was slow. I meant _piping_ was slow.
Here's regular bash in tmux:
$ wc -l fullform_nb.txt
1180517 fullform_nb.txt
$ time sort fullform_nn.txt |grep åbryug
114297 åbryug åbryug adj pos m/f ub eint normert 510 1
114297 åbryug åbryug adj pos nøyt ub eint normert 510 4
114297 åbryug åbryugare adj komp normert 510 5
114297 åbryug åbryugast adj sup ub normert 510 6
114297 åbryug åbryugaste adj sup bu normert 510 7
114297 åbryug åbryuge adj pos bu eint normert 510 3
114297 åbryug åbryuge adj pos fl normert 510 2
real 0m2.888s
user 0m9.570s
sys 0m0.132s
eshell: $ time sort fullform_nn.txt | grep åbryug
114297 åbryug åbryug adj pos m/f ub eint normert 510 1
114297 åbryug åbryug adj pos nøyt ub eint normert 510 4
114297 åbryug åbryugare adj komp normert 510 5
114297 åbryug åbryugast adj sup ub normert 510 6
114297 åbryug åbryugaste adj sup bu normert 510 7
114297 åbryug åbryuge adj pos bu eint normert 510 3
114297 åbryug åbryuge adj pos fl normert 510 2
111.725 secs
Note: the output from grep comes after about 20 seconds, then it runs for 90 sec's until time is done. In any case, way slower than bash in tmux (which is as fast as bash outside tmux). (Silly example, but my real oneliners tend to be rather longer and more cryptic …)And when I try to e.g. "sort -k2,2 -t$'\t' file" it gives zero results, doesn't even tell me whether $'\t' is unsupported, same deal if I try '\t', whereas in bash, if I try a plain '\t', sort at least tells me sort: multi-character tab ‘\\t’. In eshell, I might be mislead to thinking the grep gave zero results. To me, eshell is both slow and dangerous.
I'm happy eshell works for you, but it is just not usable at all for me. OTOH, I'm faster at typing alt-TAB than at C-x b esh RET, so I don't mind having to leave emacs as long as I only ever have to switch between the terminal and emacs.