Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^2: Unique Values within AOH

by afoken (Chancellor)
on Oct 30, 2019 at 20:48 UTC ( [id://11108136]=note: print w/replies, xml ) Need Help??


in reply to Re: Unique Values within AOH
in thread Unique Values within AOH

Rather than reading the data line by line you could slurp all of it into a single scalar string then split into per-team chunks ...

OK for small files, begging for trouble as soon as files grow beyond the amount of free RAM.

On a 32-bit perl, you simply can not have a scalar larger than 4 GBytes, because you have no more address lines. The real limit may be much less, depending on operating system and other factors. So you are limited to files smaller than that. Reading line by line allows processing Petabytes of data without running out of memory.

Even a 64-bit perl will be limited to the amount of free RAM and free swap space. Once all RAM and swap is used up and the machine has come to a grinding halt, you are lost. Again, reading line by line allows processing much more data.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Replies are listed 'Best First'.
Re^3: Unique Values within AOH
by johngg (Canon) on Oct 30, 2019 at 22:46 UTC
    OK for small files, begging for trouble as soon as files grow beyond the amount of free RAM.

    Granted, but for this particular problem I doubt that there are enough teams out there for the data to run up against the physical RAM limit, even on quite elderly systems.

    Cheers,

    JohnGG

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2024-04-19 17:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found