Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Strange memory growth

by tinita (Parson)
on Feb 14, 2018 at 18:42 UTC ( #1209164=note: print w/replies, xml ) Need Help??

in reply to Strange memory growth

Which perl version are you using, which OS?
I don't see a specific problem with the code. It should have a use strict; at the beginning, though.
How long is a typical JSON string?
Can you create a sample input that will show memory increase? For example, instead of reading in the file, just loop over the same line a couple of 1000 times and watch memory consumption.
The problem the others are mentioning doesn't look like a problem to me since $jp falls out of scope after every loop iteration.
Memory stays the same for me if I run this 500,000 times on an example line.

edit: specifically, how many array elements does a typical structure have? my assumption was that you have many lines, but maybe your lines/JSON strings are very big?

Replies are listed 'Best First'.
Re^2: Strange memory growth
by Anonymous Monk on Feb 16, 2018 at 14:50 UTC
    I'm pretty sure that auto-vivification is the root-cause problem here, because a chain of hashrefs was used in a single expression, causing unwanted AV to occur from left to right. And I am also pretty sure that huck had the best answer.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1209164]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (7)
As of 2018-04-25 10:57 GMT
Find Nodes?
    Voting Booth?