I got rid of the echo statements and tried repeatedly loading the script, executing the two lines. This is in Jconsole.

Most of the time storage didn't change, whether measured by J or by Task Manager. But every so often it would go up by 20MB or so - say, every 20 loads. I don't understand.

Can you get a testcase that eats memory more predictably and doesn't do any I/O?

Henry Rich



On 12/9/2016 6:38 PM, 'Pascal Jasmin' via Beta wrote:
I guess it is echo related then, but the result of the function is just a 
single number, and if you repeatedly load the file such that both echo 
statements run, memory use in task manager goes up 10mb per load and stayed 
there a long time.

The same file load technique did not cause j804 to jump in memory use.

Though not a testcase, solving adventofcode problem from last night through repeated edit 
and file load including echo similar statements, I woke up and J was "still" 
using 2gb of ram (as per task manager).




----- Original Message -----
From: bill lam <[email protected]>
To: [email protected]
Sent: Friday, December 9, 2016 6:05 PM
Subject: Re: [Jbeta] possible memory leak j805

memory reported in task manager for jqt task includes both jqt front-end
and j engine. each echo will print extra text in term and that requires
extra memory for the front-end, the memory committed by j engine should be
measured by 7!:0'' .


On 10 Dec, 2016 6:37 am, "Henry Rich" <[email protected]> wrote:

Can you give more details on how to reproduce this?  When I load the
script and repeatedly execute

f2 '(27x12)(20x12)(13x14)(7x10)(1x12)A'

I don't see any memory increase in J or in Task Manager.

If I put 'echo' in front of the f2, I do see memory increasing, but that
might be because of the file I/O or something.  I need a testcase to show
the memory leak.

Henry Rich

On 12/9/2016 10:03 AM, 'Pascal Jasmin' via Beta wrote:

The sample code is fairly quick to run.


I can confirm that the code below grows  memory use in task manager after
each run without releasing after a couple of minutes idle.

it does not "leak" with


JVERSION
Engine: j803/2014-10-19-11:11:11
Library: 8.04.15
Qt IDE: 1.4.10/5.4.2
Platform: Win 64


----- Original Message -----
From: 'Pascal Jasmin' via Beta <[email protected]>
To: Beta Forum <[email protected]>
Sent: Friday, December 9, 2016 9:53 AM
Subject: [Jbeta] possible memory leak j805

part 2 of adventofcode day 9, took over 1 hour to run, and in the end was
left with 2gb+ memory use by J.

following was in a file and loaded, though an echo lines just called f2
on a variable holding input.  Perhaps this is faster on earlier versions of
J?

issues that might cause a leak:
I am reassigning y, but I am also recursing inside a loop.

I'm not positive this code creates a leak.  I will rerun it on my machine
too.  I may have done something unrelated (or a different attempt) to
consume memory.


JVERSION
Engine: j805/j64/windows
Beta-12: commercial/2016-09-30T15:50:47
Library: 8.05.09
Qt IDE: 1.5.2/5.6.2
Platform: Win 64



f2 =: 3 : 0
o =. 0
while. (# y) > e =. ')' i.~ y do.
b  =. '(' i:~ e {. y
i =. ". every 'x' cut y{~ b + >:i. <:e -b
o =. o + b +  f2 i expand (>:e )}. y
y =. ({.i) }. (>:e) }. y
end.
o + #y
)

expand =: */@:[ $ {.@[ {. ]

echo f2 '(27x12)(20x12)(13x14)(7x10)(1x12)A'
echo f2 '(25x3)(3x3)ABC(2x3)XY(5x2)PQRSTX(18x9)(3x2)TWO(5x7)SEVEN'
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to