Dyalog / ride

Cross-platform IDE for Dyalog APL
https://dyalog.github.io/ride
MIT License
206 stars 32 forks source link

RIDE on Linux gets very slow once the session log is long #1255

Open rikedyp opened 2 months ago

rikedyp commented 2 months ago

Describe the issue you are having

When I start RIDE with a fresh session log, it is quite responsive both for input and for results being printed to the session from the interpreter. Once I have a few thousand lines of input, I notice both typing and session output becomes sluggish.

Did you connect to an already running interpreter or start the interpreter from Ride?

Start from RIDE

How do you reproduce the issue?

I work around the issue by setting config parameter LOG_FILE_INUSE=0 and restarting RIDE once it becomes slow. I can get to visible slowness by doing

]rows off
⍪⍳1e4

Paste the contents of Help → About (Shift+F1)

IDE:
  Version: 4.5.4097
  Electron: 26.6.9
  Chrome: 116.0.5845.228
  Node: 18.16.1
  Platform: Linux x86_64
  Date: 2024-02-23 15:24:25 +0100
  Git commit: 9fb313638328832b51012bd75b2523a8d97f4509
  Preferences:{
    "autoCloseBrackets":"0",
    "autoStart":"1",
    "defaultConfig":"v19.0",
    "kbdLocale":"en_GB",
    "keys":"{\"FX\":[\"Ctrl+S\"],\"VAL\":[\"Ctrl+Alt+Enter\"]}",
    "matchBrackets":"0",
    "persistentHistory":"0",
    "presetsCreated":"[\"/opt/mdyalog/19.0/64/unicode/mapl\",\"/opt/mdyalog/18.2/64/unicode/mapl\",\"/opt/mdyalog/20.0/64/unicode/mapl\"]",
    "sessionLogSize":"30",
    "showSessionMargin":"0",
    "snippetSuggestions":"0",
    "sqp":"0",
    "zoom":"1"
  }

Interpreter:
  Version: 19.0.50099
  Platform: Linux-64
  Edition: Unicode/64
  Date: Sep 11 2024 at 00:47:48
aplteam commented 1 month ago

Shouldn't there a way to control the log file from the Ride menus?! And to find out where it lives?

rikedyp commented 1 month ago

I've tried

I've asked John D and he said there's currently no way to make it so dyalog actually truncates the log on their end (so I suppose LOG_SIZE is supposed to limit the file written when ⎕OFF). If I keep the log file I suffer not just this issue but also #1219. There are some other instances of my session log and input being strange in 19.0 but I haven't found consistent repros for them yet.

Perhaps it is the log of RIDE protocol messages getting long? I'm in a VM so graphical stuff can suffer but VSCode and Firefox are running just fine even with plenty of tabs open and web pages much longer than my session log...