Yes, ca 40MB is consistent with what I found with Windows’ Task Manager,

Mike

Sent from my iPad

> On 7 Feb 2021, at 15:49, Raul Miller <[email protected]> wrote:
> 
> What does the ubuntu command line utility 'top' say about your system
> while this is running?  Also, how much memory do you have on your
> system?
> 
> Looking at the mechanics of the computation on a different machine:
> 
>   $PanDigS
> 3628800 10
>   timespacex '{{10 base"1 each 3 box\"1 i.y,10}}3'
> 4.5e_5 33600
>   timespacex '{{10 base"1 each 3 box\"1 i.y,10}}36'
> 0.000541 361920
>   timespacex '{{10 base"1 each 3 box\"1 i.y,10}}362'
> 0.003622 3.62333e6
>   timespacex '{{10 base"1 each 3 box\"1 i.y,10}}3628'
> 0.043213 3.63452e7
>   timespacex '{{10 base"1 each 3 box\"1 i.y,10}}36288'
> 0.422218 3.65596e8
> 
> You probably need about 40 gigabytes of memory to complete this
> operation, and if you had enough physical memory that would probably
> take almost a minute to complete. If you rely on virtual memory it
> might take up to thousands of times longer.
> 
> (It's perhaps worth noting that Linux allocates memory
> "optimistically" -- which is to say that the operating system does not
> guarantee that there will be physical memory when it allocates memory
> to a process. Instead, if it runs out of memory, it starts killing
> processes somewhat arbitrarily. The reason for this is that many
> popular programs allocate more memory than they actually use.)
> 
> If you are interested in the results, it would be more memory
> efficient to skip the boxing and directly calculate the result:
> 
>   timespacex '{{3 (10 base ])\"1 i.y,10}}36288'
> 0.246229 8.3929e6
> 
> (Also, as people have noted, digits range from 0 to 9, not 1 to 10.)
> 
> I hope this helps,
> 
> -- 
> Raul
> 
>> On Sun, Feb 7, 2021 at 6:33 AM Francesco Pedulla' <[email protected]> wrote:
>> 
>> The following piece of code does not work on Ubuntu 20.04.
>> 
>> load 'primitives'
>> 
>> perm =: i.@! A. i.
>> 
>> PanDigS =: (perm 10) from (1 + i.10)
>> 
>> PanDigT =: 10 base"1 each 3 box\"1 PanDigS
>> 
>> 
>> The effect is variable: crash of the J interpreter, freeze of the Qt
>> interface or even of the whole system. It shows up both on J807 and J902.
>> 
>> The dataset is quite large:
>> 
>> 
>> 7!:5 <'PanDigS'
>> 
>> 5.36871e8
>> 
>> 
>> and the process crashes (or the system freezes) after several seconds.
>> Hence, I suspect an issue with memory management.
>> 
>> Any idea or suggestion on how to bypass the problem?
>> 
>> Thanks,
>> 
>> 
>> Francesco
>> ----------------------------------------------------------------------
>> 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