Hi,

2 juil. 2021, 23:30 de dpchr...@holgerdanske.com:

> Perhaps the underlying issue is useless use of shell pipelines ("The Unix 
> Way"):
>
> 2021-07-02 12:44:43 dpchrist@dipsy ~/sandbox/perl
> $ cat useless-use-of-grep
> This is the first line: bla bla bla.
> This is line xxxx: bla bla bla.
> This is the last line: bla bla bla.
>
> 2021-07-02 12:45:38 dpchrist@dipsy ~/sandbox/perl
> $ grep xxxx useless-use-of-grep | sed -e 's/bla/foo/'
> This is line xxxx: foo bla bla.
>
>
> Versus "all-in-one":
>
> 2021-07-02 12:45:39 dpchrist@dipsy ~/sandbox/perl
> $ perl -ne 's/bla/foo/ && print if /xxxx/' useless-use-of-grep
> This is line xxxx: foo bla bla.
>
>
> The former is better from a "golfing" standpoint (e.g. fewer characters to 
> type).
>
Here is a better `sed` if you want a all-in-one: 
sed -n /xxxx/{s/bla/foo/p} useless-use-of-grep

> But, it is interesting that the benchmark results defy the common perceptions 
> of "userland tools are are fast" and "Perl is slow":
>
> 2021-07-02 12:59:55 dpchrist@dipsy ~/sandbox/perl
> $ time for n in {1..10000}; do grep xxxx useless-use-of-grep | sed -e 
> 's/bla/foo/' > /dev/null ; done
>
> real  0m42.162s
> user  0m32.925s
> sys   0m45.787s
>
> 2021-07-02 13:00:45 dpchrist@dipsy ~/sandbox/perl
> $ time for n in {1..10000}; do perl -ne 's/bla/foo/ && print if /xxxx/' 
> useless-use-of-grep > /dev/null; done
>
> real  0m23.624s
> user  0m14.308s
> sys   0m10.826s
>
I'm not in front of my Linux terminal, can someone launch the `time` command 
for my `sed` above please ? :)

Best regards, 
l0f4r0

Reply via email to