Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spyder 6 significantly slower working with projects on entwork drives than 5.5 #22556

Open
gb119 opened this issue Sep 23, 2024 · 3 comments
Open

Comments

@gb119
Copy link

gb119 commented Sep 23, 2024

Problem Description

I often work with projects that are stored on a network drive (that is known not to be super fast since it's an antiquated samba server), however I'm seeing significant regressions in general speed when comparing Spyder 6 to Spyder 5.5.6 (tested on the same machine at the same time with two different conda environments and different configuration directories). Certainly general project related operations (opening/closing projects) are much slower on 6 than 5.5 with long periods where the UI becomes unresponsive - particularly on project load or initial application startup with an open project.

I've had similar issues with Spyder 6 speed on two different machines - although I've only done the 'head-to-head' comparison on one of those - and done things like conda update --all on the envuronments.

Possibly related, about 40% of the time Spyder 6's Ipython console announces than "conda run" had failed - I don't believe this is real and suspect that there is some timeout happening as the other 60% of the time it manages.

I'm also seeing some zmq errors in the internal console:

self.stream = zmqstream.ZMQStream(self.socket, self.ioloop)
C:\ProgramData\anaconda3\envs\py312\Lib\site-packages\jupyter_client\threaded.py:73: RuntimeWarning: ZMQStream only supports the base zmq.Socket class.

            Use zmq.Socket(shadow=other_socket)
            or `ctx.socket(zmq.SUB, socket_class=zmq.Socket)`
            to create a base zmq.Socket object,
            no matter what other kind of socket your Context creates.

self.stream = zmqstream.ZMQStream(self.socket, self.ioloop)

Sorry, not to be more specific.

Mandatory:

aiohttp >=3.9.3 : 3.10.5 (OK)
asyncssh >=2.14.0,<3.0.0 : 2.17.0 (OK)
atomicwrites >=1.2.0 : 1.4.0 (OK)
chardet >=2.0.0 : 4.0.0 (OK)
cloudpickle >=0.5.0 : 3.0.0 (OK)
cookiecutter >=1.6.0 : 2.6.0 (OK)
diff_match_patch >=20181111 : 20200713 (OK)
github >=2.3.0 : 2.4.0 (OK)
importlib_metadata >=4.6.0 : 7.0.1 (OK)
intervaltree >=3.0.2 : 3.1.0 (OK)
IPython >=8.13.0,<9.0.0,!=8.17.1 : 8.27.0 (OK)
jedi >=0.17.2,<0.20.0 : 0.19.1 (OK)
jellyfish >=0.7 : 1.0.1 (OK)
jsonschema >=3.2.0 : 4.19.2 (OK)
keyring >=17.0.0 : 24.3.1 (OK)
nbconvert >=4.0 : 7.16.4 (OK)
numpydoc >=0.6.0 : 1.7.0 (OK)
parso >=0.7.0,<0.9.0 : 0.8.3 (OK)
pexpect >=4.4.0 : 4.8.0 (OK)
pickleshare >=0.4 : 0.7.5 (OK)
psutil >=5.3 : 5.9.0 (OK)
pygments >=2.0 : 2.15.1 (OK)
pylint >=3.1,<4 : 3.2.7 (OK)
pylint_venv >=3.0.2 : 3.0.3 (OK)
pyls_spyder >=0.4.0 : 0.4.0 (OK)
pylsp >=1.12.0,<1.13.0 : 1.12.0 (OK)
pylsp_black >=2.0.0,<3.0.0 : 2.0.0 (OK)
pyuca >=1.2 : 1.2 (OK)
qdarkstyle >=3.2.0,<3.3.0 : 3.2.3 (OK)
qstylizer >=0.2.2 : 0.2.2 (OK)
qtawesome >=1.3.1,<1.4.0 : 1.3.1 (OK)
qtconsole >=5.6.0,<5.7.0 : 5.6.0 (OK)
qtpy >=2.4.0 : 2.4.1 (OK)
rtree >=0.9.7 : 1.0.1 (OK)
setuptools >=49.6.0 : 72.1.0 (OK)
sphinx >=0.6.6 : 7.3.7 (OK)
spyder_kernels >=3.0.0,<3.1.0 : 3.0.0 (OK)
superqt >=0.6.2,<1.0.0 : 0.6.7 (OK)
textdistance >=4.2.0 : 4.2.1 (OK)
three_merge >=0.1.1 : 0.1.1 (OK)
watchdog >=0.10.3 : 4.0.1 (OK)
yarl >=1.9.4 : 1.11.0 (OK)
zmq >=24.0.0 : 25.1.2 (OK)

Optional:

cython >=0.21 : None (NOK)
matplotlib >=3.0.0 : 3.9.2 (OK)
numpy >=1.7 : 1.26.4 (OK)
pandas >=1.1.1 : 2.2.2 (OK)
scipy >=0.17.0 : 1.12.0 (OK)
sympy >=0.7.3 : 1.13.2 (OK)

@gb119
Copy link
Author

gb119 commented Sep 25, 2024

As a further data point, this happens on 6.0.1 as well, but it seems to be associated with loading a Project from a network drive. In the following "fast" means a few seconds, "slow" means more than a minute:
Fast:

  • Loading spyder with no project, but editor pane with several files (doesn't make a difference whether the files are local or network based)
  • Loading Spyder with a local project, ediutor pane with several local files
  • Switching between local projects in an open Spyder

Slow:

  • Loading Spyder with a project from a network drive (doesn't seem to make a different how m,any files are open in the editor pane).
  • Switching between projects on network drives.

It seems that the longest part of the delay happens after the editor pane loads the files from the new project and before the console panel has restarted with the new project.

Should add, this is all on Windows x86_64 11. I'll see if I can get a working Spyder 6 in WSL which is the best I can do for checking other platforms.

@ccordoba12
Copy link
Member

Hey @gb119, thanks for reporting. We did two major changes to projects in Spyder 6 that could be causing this:

Let us know if those changes work for you. With that info we could add a way disable one or the other in Preferences.

@gb119
Copy link
Author

gb119 commented Sep 26, 2024

So it appears that I need both suggested fixes to avoid Spyder 6 (6.0.0, I hadn't bumped the one I was testing to 6.0.1) becoming unresponsive.
I was still having persistent problems with it thinking conda run wasn't a command though - is there a point where it does a test for installed conda that might be timing out on me? It stops the Ipython console from working.

What do the things I've disabled do for me?

Happy to do further testing, but it's the start of our academic year so I'm little busy (why do I always report these things at the start of term!?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants