Hi Hans-Peter,
there are ways to improve the )LOAD time. I did a complete
rework of 10 ⎕CR, so I wanted to keep things simple in the
beginning. The change was to replace pick left of → ((A⊃B)←
with double indexed assignment (A[B1][B2]←).
I will keep looking into this.
Best Regards,
Jürgen
On 2/26/25 20:07, Hans-Peter Sorge wrote:
Hi Jürgen,
thank you.
Loading a )DUMPed WS.apl brings the variable back - thank you.
Now.
Loading a )DUMPed WS.apl with a 10000⍴' ' variable in it takes about
11[sec] to restore the Var!!
>> ~ 20000⍴' ' is blowing the )TIME LIMIT.
A couple of ~50k sized Vars made me kill the process and edit the WS
to remove the Vars.
)SAVE - )LOAD does not have the performance penalty.
A long time ago we discussed a problem with )SAVE when you suggested
to use )DUMP.
Having used )DUMP since then I was fine.
Question: Is it 'save' to use )SAVE / )LOAD now?
Best Regards
Hans-Peter
Am 26.02.25 um 15:48 schrieb Dr. Jürgen Sauermann:
Hi Hans-Peter,
thanks, fixed in *SVN 1843*.
Best Regards,
Jürgen
I have made a major re-disign of 10 ⎕CR B, hope it does
not brake other
On 2/16/25 12:35, Hans-Peter Sorge wrote:
Hi,
$ apl -q
/⍝ create, rather simple, content/
* BUG←⊂⊂¨(1 2 0)⍴¨'X'
*/⍝ dump content/***
)dump buggy
*2025-02-16 12:13:47 (GMT+1)
/⍝ and copy dumped content/**
*)copy buggy*
DUMPED 2025-02-16 12:13:47 (GMT+1)
/⍝ /() /related to ⊂ (enclose)?/
DOMAIN ERROR
((⎕IO+() 0 ())⊃BUG)←'X'
^ ^
DOMAIN ERROR
((⎕IO+() 1 ())⊃BUG)←'XX'
^ ^
DOMAIN ERROR
((⎕IO+() 2 ())⊃BUG)←' '
^ ^
RANK ERROR
((⎕IO+() 2 ())⊃BUG)←0⍴((⎕IO+() 2 ())⊃BUG)
^ ^
/ ⍝ created but empty
/*BUG*
0 0 0
/⍝ /() /related to ⊂ (enclose)?/
*BUG_TOO←2 2⍴⊂⊂¨(1 2 0)⍴¨'X'**
BUG_TOO
*** X XX X XX
X XX X XX
*)dump buggy*
2025-02-16 12:21:47 (GMT+1)
* )copy buggy BUG_TOO*
DUMPED 2025-02-16 12:21:47 (GMT+1)
DOMAIN ERROR
((⎕IO+(0 0) 0 ())⊃BUG_TOO)←'X'
^ ^
DOMAIN ERROR
((⎕IO+(0 0) 1 ())⊃BUG_TOO)←'XX'
^ ^
DOMAIN ERROR
((⎕IO+(0 0) 2 ())⊃BUG_TOO)←' '
^ ^
RANK ERROR
((⎕IO+(0 0) 2 ())⊃BUG_TOO)←0⍴((⎕IO+(0 0) 2 ())⊃BUG_TOO)
^ ^
DOMAIN ERROR
((⎕IO+(0 1) 0 ())⊃BUG_TOO)←'X'
^ ^
DOMAIN ERROR
((⎕IO+(0 1) 1 ())⊃BUG_TOO)←'XX'
^ ^
DOMAIN ERROR
((⎕IO+(0 1) 2 ())⊃BUG_TOO)←' '
^ ^
RANK ERROR
((⎕IO+(0 1) 2 ())⊃BUG_TOO)←0⍴((⎕IO+(0 1) 2 ())⊃BUG_TOO)
^ ^
DOMAIN ERROR
((⎕IO+(1 0) 0 ())⊃BUG_TOO)←'X'
^ ^
DOMAIN ERROR
((⎕IO+(1 0) 1 ())⊃BUG_TOO)←'XX'
^ ^
DOMAIN ERROR
((⎕IO+(1 0) 2 ())⊃BUG_TOO)←' '
^ ^
RANK ERROR
((⎕IO+(1 0) 2 ())⊃BUG_TOO)←0⍴((⎕IO+(1 0) 2 ())⊃BUG_TOO)
^ ^
DOMAIN ERROR
((⎕IO+(1 1) 0 ())⊃BUG_TOO)←'X'
^ ^
DOMAIN ERROR
((⎕IO+(1 1) 1 ())⊃BUG_TOO)←'XX'
^ ^
DOMAIN ERROR
((⎕IO+(1 1) 2 ())⊃BUG_TOO)←' '
^ ^
RANK ERROR
((⎕IO+(1 1) 2 ())⊃BUG_TOO)←0⍴((⎕IO+(1 1) 2 ())⊃BUG_TOO)
^ ^
*)SAVE buggy*
NOT SAVED: THIS WS IS CLEAR WS
*)WSID buggy2*
WAS CLEAR WS
*)save *
2025-02-16 12:31:44 (GMT+1) buggy2
/⍝ May be //because of previous bug?/
*)load buggy2*
==============================================================================
Assertion failed: vid < int(values.size())
in Function: read_Cells
in file: Archive.cc:1893
C/C++ call stack:
*** useless apl.lines (no CXXFLAGS=-rdynamic -gdwarf-2)
----------------------------------------
-- Stack trace at Assert.cc:75
----------------------------------------
0x7fbca8f2a30b __libc_start_main
0x7fbca8f2a248
0x403e60 main
0x5d892d Workspace::immediate_execution(bool)
0x45fef9 Command::process_line()
0x4600d5 Command::process_line(UCS_string&, std::ostream*)
0x460ab3 Command::do_APL_command(std::ostream&, UCS_string&)
0x46db33 Command::cmd_LOAD(std::ostream&, UCS_string_vector&,
UCS_string&, bool)
0x5dc428 Workspace::load_WS(std::ostream&, LibRef,
UCS_string const&, UCS_string&, bool)
0x4151fd XML_Loading_Archive::read_Workspace(bool)
0x416cbb XML_Loading_Archive::read_Ravel()
0x4163c1 XML_Loading_Archive::read_Cells(Value&, unsigned
char const*)
0x423575 do_Assert(char const*, char const*, char
const*, int)
========================================
========================================
SI stack:
==============================================================================
*** immediate_execution() caught other exception ***
Best Regards
Hans-Peter