Re Perl's read speed, it's faster when not doing the line number check for every line. So `perl -ne 'print if (/pattern/)'` is only ~2.60s, compared to ~3.28s for `perl -ne 'print if ($. == 1 || /pattern/)'`. Doing nothing in Perl, i.e., `perl -ne ''` is only ~1.38s.
Dan On Wed, Aug 23, 2023 at 6:22 PM Paul Jackson <p...@usa.net> wrote: > Ah - those times show another reason why one might > be motivated to keep requesting more options be added > to grep. > > From those timings, and from looking at the source, it's clear > that the FSF rewrote grep from scratch, sometime back in the > late 1980's or early 1990's, to have fast reads, whereas sed is > still using stdio fread in a classical manner, which is a painfully > slower double copy solution. > > If sed were still a widely used command in performance sensitive > applications, it should have some serious TLC applied to its > performance. > > However, since the pool of Jurassic Park Dinosaurs who can (and > perhaps do) compose sed commands in their sleep is a nearly > extinct breed, I see no sufficient interest in accepting such a rewrite > of sed, even if it showed up as a proposed checkin. > > That grep can even seriously beat perl for such raw read performance > is impressive. Perl used to be the King of such challenges. > > -- > Paul Jackson > p...@usa.net > > >