bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] Very slow ")save" on large workspace


From: Christian Robert
Subject: Re: [Bug-apl] Very slow ")save" on large workspace
Date: Wed, 2 Nov 2016 12:19:44 -0400
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

You're right. The variable has been converted to a 362880 x 9 matrix rather 
than a vector of 362880 ( 3 x 3 ) matrix.

That explain the speed and .xml size.

Xtian.

On 2016-11-02 07:21, Juergen Sauermann wrote:
Hi Robert,

it is somewhat scary if the *.xml* file has shrunken at all.

I suppose the factor of 5 in *)SAVE* time is directly related to the factor of 
5 in the *.**xml* file size,
but the root cause for the factor of 5 is probably not the difference between 
*SVN 801* and *802*, but
some other change in your workspace (like a large variable being  deleted or 
overridden, or *)SIC*?).

/// Jürgen



On 11/02/2016 06:14 AM, Christian Robert wrote:
At svn 802 it is more than 5 times faster than at svn 801 with
less than 3 secs on my slow tablet.

going from 2 hours to less than 3 seconds is *really* an improvement !!!

and the resulting .xml file has shrunk by a factor 5.

thanks again,

Xtian

On 2016-10-29 15:14, Christian Robert wrote:
Impressive !

On my tablet it went from over 2 hours to 16 seconds now !

thanks,

Xtian.

On 2016-10-29 13:54, Juergen Sauermann wrote:
Hi Xtian,

thanks, fixed in *SVN 801*.

/// Jürgen


On 10/28/2016 04:13 AM, Christian Robert wrote:
      )clear
      ∇z←permute s
→((⍴,s)≤1)/ident
→((⍴s)>2)/recurse
z←s⍪1 2⍴⌽s ⋄ →0
ident: z←s ⋄ →0
recurse: z←(((⍴,z)÷⍴s),⍴s)⍴,z←{⍵,permute s~⍵}⍤0 s
∇


      ⍝ Now do this

      v ← {⊂ 3 3 ⍴ ⍵}⍤1 permute ⍳9

      ⍴v
362880

      ⍝ "v" is a vector of all possibles permutations of 9 numbers arranged in 
a 3x3 matrix.

      ⍝ first 10 of the 362880 ones ...

      8⎕cr ¨ 10 ↑ v
 ┌→────┐  ┌→────┐  ┌→────┐  ┌→────┐  ┌→────┐  ┌→────┐  ┌→────┐  ┌→────┐  
┌→────┐  ┌→────┐
 ↓1 2 3│  ↓1 2 3│  ↓1 2 3│  ↓1 2 3│  ↓1 2 3│  ↓1 2 3│  ↓1 2 3│  ↓1 2 3│  ↓1 2 
3│  ↓1 2 3│
 │4 5 6│  │4 5 6│  │4 5 6│  │4 5 6│  │4 5 6│  │4 5 6│  │4 5 7│  │4 5 7│  │4 5 
7│  │4 5 7│
 │7 8 9│  │7 9 8│  │8 7 9│  │8 9 7│  │9 7 8│  │9 8 7│  │6 8 9│  │6 9 8│  │8 6 
9│  │8 9 6│
 └─────┘  └─────┘  └─────┘  └─────┘  └─────┘  └─────┘  └─────┘  └─────┘  
└─────┘  └─────┘

      ⍝ Now wallclock time how long it take to do a )save ...  (on my fast 
machine, took 139 seconds)

      ⍝ Remark that the )load will take something like only 1/100th or 2/100th 
of the )save time.


So, ")save" is far too slow on workspace with a large number of cells ...

Hoping you can improve it (as you did for Unique few weeks ago).

Xtian.


ps: ")dump" is very fast (~2 seconds) but reloading that .apl file take near 
infinite time.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]