The 9!:20 memory limit contrains the size of any one memory allocation; 
none of the expressions below exceed the limit.



----- Original Message ----- 
From: "Oleg Kobchenko" <[EMAIL PROTECTED]>
To: "Beta forum" <[email protected]>
Sent: Thursday, May 11, 2006 4:37 PM
Subject: Re: [Jbeta] RE: Tardy graphics

Memory limit is not working.

The problem with breaking is typically related not to 
length of operation or its complexity, but rather whether 
it uses a lot of memory.

This happens often even with such simple 
operations as this (takes 1.3 Gb with 10000000#1000):

   'c'8!:2 ] 9!:20''
268,435,456
   'c'8!:2 ] 7!:2'([: $ #&1)&.> 4000000#1000'
595,119,424
(It should have given 'out of memory' --
further, open Task Manager to observe that J
did not release the memory(*), before a call to 7!:0'').

Now keep increasing the size (value before #) until
swapping starts (execution should take a minute or more).
Now try to use the yellow icon to break -- it won't work
right away, only after a while.

Rationale: such situations occur when using
brute force and you want to push it,
so that the engine tells with memory limit
"that's too far" -- OK, let's try something
else.

When the disk starts swapping, it takes J longer
to react to the yellow icon. For some reason,
the memory limit does not work. J is slowly 
allocating a huge amount of memory exceeding 
the limit, which causes the swap. 

As a result you have to wait for long minutes 
before this process completes. Often it takes 
too long and you just have to kill J process.

________
  (*) J does not relase the memory after execution
of the last statement so any call to GUI now
such as Close [X], may produce

|out of memory: wdhandler_0_
|   wdq=:    wd'q'



--- Eric Iverson <[EMAIL PROTECTED]> wrote:

> How is jbreak 601 not working? Have you studied the doc in the User Manual 
> on 'Interrupt Execution'? Verify with some very simple tests that the basic 
> mechanism works in simple cases. For example, create a script with a verb 
> that does a while loop that will run for 10 seconds or so and then test 
> whether clicking the yellow J icon interrupts execution or not. Most J 
> programs can be interrupted fairly promptly. There are some long running 
> executions that are very localized and don't check for break, but I would be 
> surprised if that were the case for the general problem you report.


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

Reply via email to