How can I disable skeletons update?

I've got major performance problem with starting up PyCharm. In my Python environment I have a really big number of modules (OpenGL, twisted and thousands more). Generating skeletons for all of them takes about 2-3 hours, during which all tests included in such modules are launched (OpenGL ones are the most annoying as they block skeleton generation). After this, every time the project is loaded skeletons are updated once more in background (this time it takes about 40 minutes).

My question is: how can I disable such behaviour? It's a major performance issue.

12 comments

Hello Michał,

Please attach the PyCharm log file (use Help | Reveal Logs to locate it).

The skeleton update is supposed to happen only if either some of the modules

have changed or the generator itself has been upgraded to a newer version.

I've got major performance problem with starting up PyCharm. In my

Python environment I have a really big number of modules (OpenGL,

twisted and thousands more). Generating skeletons for all of them

takes about 2-3 hours, during which all tests included in such modules

are launched (OpenGL ones are the most annoying as they block skeleton

generation). After this, every time the project is loaded skeletons

are updated once more in background (this time it takes about 40

minutes).

My question is: how can I disable such behaviour? It's major

performance issue for me/

--

Dmitry Jemerov

Development Lead

JetBrains, Inc.

http://www.jetbrains.com/

"Develop with Pleasure!"

0

I have a this issue as well I think.

pycharm always has "Querying skeleton for C:Python27\python.exe..." running.

sometimes the gui freezes up for a second or two - dont know if this is the same issue or not............

 

 

0

Are you continually re-building the opengl library? could that be why it thinks it needs to index it again?

0

This is very annoying and counter-productive. It is happening for me as well and it takes hours for PyCharm to come up! It even happens if/when I close the project and reopen it the next morning. Any advice how to stop this would be greatly appreciated.

1

I have the issue too.  Becoming unusable!

0

I avoid restarting PyCharm because each time I start it, it takes 20min+ for the IDE to become usable.

"Querying skeleton generator for ..." is shown on status bar for MINUTES, and CPU use is no higher than 30%.

 

Other info:

- My machine is a DELL PRECISION M4800, Intel core i7, 16Gb RAM.

- Anaconda2 64bits installed, with a small number of other packages.

- PyCharm Version:

PyCharm 2017.3.3 (Community Edition)
Build #PC-173.4301.16, built on January 11, 2018
JRE: 1.8.0_152-release-1024-b11 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1

0

Currently experiencing this on PyCharn2016.  During Skeleton reload getting message: External file changes sync may be slow: Project files cannot be watched (are they under network mount?). 

Log:

2018-07-25 09:52:13,498 [ 270045] ERROR - .impl.ProjectRootContainerImpl - PyCharm Community Edition 2016.1.3 Build #PC-145.971.25
2018-07-25 09:52:13,498 [ 270045] ERROR - .impl.ProjectRootContainerImpl - JDK: 1.8.0_60
2018-07-25 09:52:13,499 [ 270046] ERROR - .impl.ProjectRootContainerImpl - VM: Java HotSpot(TM) Server VM
2018-07-25 09:52:13,499 [ 270046] ERROR - .impl.ProjectRootContainerImpl - Vendor: Oracle Corporation
2018-07-25 09:52:13,499 [ 270046] ERROR - .impl.ProjectRootContainerImpl - OS: Windows 7
2018-07-25 09:52:13,499 [ 270046] ERROR - .impl.ProjectRootContainerImpl - Assertion failed
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:156)

at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:165)
at com.intellij.openapi.projectRoots.impl.ProjectRootContainerImpl.addRoot(ProjectRootContainerImpl.java:122)
at com.intellij.openapi.projectRoots.impl.ProjectJdkImpl.addRoot(ProjectJdkImpl.java:373)
at com.jetbrains.python.sdk.PythonSdkUpdater$3.run(PythonSdkUpdater.java:424)
at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:723)
at com.jetbrains.python.sdk.PythonSdkUpdater.commitSdkPathsIfChanged(PythonSdkUpdater.java:416)
at com.jetbrains.python.sdk.PythonSdkUpdater.updateLocalSdkPaths(PythonSdkUpdater.java:247)
at com.jetbrains.python.sdk.PythonSdkUpdater.update(PythonSdkUpdater.java:130)

0

I like how this thread got completely abandoned after mczers submitted everything that was asked of him. In 2011. To give an excessive benefit of the doubt, maybe they are still working on it.

And now it's "reloading generated skeletons". 

It should be ready to use by the next decade.

1

Everyone who faces the performance issues related to reloading skeletons, it requires deeper investigation, so I advice to submit a ticket to JetBrains support.

0

I already circumvented the issue by transferring myself and the developers I work with to a different application.

Currently using vs code. (not to be mistaken for visual studio)

1

Excluding files in the project structure will AFAIK prevent pycharm from reloading that file in the skeleton.  I noticed very early on that PyCharm was scanning my log files within the project.  Once I excluded the log folder I noticed a huge speed-up in skeleton load times.

It's also forced me to consider how I structure pycharm projects.  I used to put everything under the sun in a 'super project' (which admittedly for me still wasn't extremely large) and again noticed skeleton times drop significantly when I setup projects to only include one actual software project at a time.

TLDR; I would advise excluding files/folders that pycharm doesn't need to scan.

0

Please sign in to leave a comment.