Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^3: Any downsides to this slurp idiom?

by BrowserUk (Pope)
on Jun 22, 2018 at 20:46 UTC ( #1217259=note: print w/replies, xml ) Need Help??


in reply to Re^2: Any downsides to this slurp idiom?
in thread Any downsides to this slurp idiom?

That sounded plausible, but I just tried it on 5.22 with these results, using this code in my repl:

{ my $s; do{ local( @ARGV, $/)='1gb.db'; $s = <> }; <STDIN>; my $t = do{ local( @ARGV, $/)='1gb.db'; <> }; <STDIN> };;

Note how the first bump in the memory to 1.2GB remains at that level after the first burst of IO finishes,

It then climbs to 2.4GB for the second burst of IO, and then climbs again to 3.5GB immediately the IO stops.

Ie. When the temporary buffer within the do block is copied into the target scaler $t.

(Perhaps the IsCOW only operates on *nix? (I'm on win.)


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". The enemy of (IT) success is complexity.
In the absence of evidence, opinion is indistinguishable from prejudice. Suck that fhit

Replies are listed 'Best First'.
Re^4: Any downsides to this slurp idiom?
by vr (Curate) on Jun 22, 2018 at 23:03 UTC
    >perl -wE "system(qq($^X -v));my$s=do{local(@ARGV,$/)='1GB';<>};system +('typeperf """\\Process(perl)\\Working Set Peak""" -sc 1')" This is perl 5, version 18, subversion 4 (v5.18.4) built for MSWin32-x +64-multi-thread Copyright 1987-2013, Larry Wall Perl may be copied only under the terms of either the Artistic License + or the GNU General Public License, which may be found in the Perl 5 source ki +t. Complete documentation for Perl, including FAQ lists, should be found +on this system using "man perl" or "perldoc perl". If you have access to + the Internet, point your browser at http://www.perl.org/, the Perl Home Pa +ge. "(PDH-CSV 4.0)","\\DESKTOP-P81QO3Q\Process(perl)\Working Set Peak" "06/23/2018 01:47:53.431","2192527360.000000"

    .

    >perl -wE "system(qq($^X -v));my$s=do{local(@ARGV,$/)='1GB';<>};system +('typeperf """\\Process(perl)\\Working Set Peak""" -sc 1')" This is perl 5, version 22, subversion 3 (v5.22.3) built for MSWin32-x +64-multi-thread Copyright 1987-2017, Larry Wall Perl may be copied only under the terms of either the Artistic License + or the GNU General Public License, which may be found in the Perl 5 source ki +t. Complete documentation for Perl, including FAQ lists, should be found +on this system using "man perl" or "perldoc perl". If you have access to + the Internet, point your browser at http://www.perl.org/, the Perl Home Pa +ge. "(PDH-CSV 4.0)","\\DESKTOP-P81QO3Q\Process(perl)\Working Set Peak" "06/23/2018 01:58:33.467","1099583488.000000"

      Okay. I have now reproduced your results with 5.22:

      C:\test>\perl22\bin\perl -e"my$s=do{local(@ARGV,$/)='1gb.db';<>}; prin +t `tasklist /nh /fi \"PID eq $$\"`;" perl.exe 2948 Console 1 1,218 +,828 K

      But not from my repl. It has a variety of things preloaded:

      C:\test>\perl22\bin\perl.exe \perl22\bin\p1.pl [0]{} Perl> print for keys %INC;; Time/HiRes.pm Exporter/Heavy.pm Benchmark.pm Config_heavy.pl overload.pm vars.pm threads/shared.pm Config.pm List/Util.pm warnings.pm warnings/register.pm XSLoader.pm feature.pm DynaLoader.pm strict.pm Data/Dump.pm ActivePerl/Config.pm Scalar/Util.pm C:/Perl22/site/lib/sitecustomize.pl Carp.pm Config_git.pl subs.pm Exporter.pm threads.pm overloading.pm [0]{} Perl>

      One or more of which appear to interfere with this feature, which doesn't bode well. I'll investigate further sometime.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority". The enemy of (IT) success is complexity.
      In the absence of evidence, opinion is indistinguishable from prejudice. Suck that fhit

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1217259]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (2)
As of 2021-10-24 21:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My first memorable Perl project was:







    Results (89 votes). Check out past polls.

    Notices?