Skip to content

A Note on Performance

Gui Talarico edited this page Jun 8, 2018 · 2 revisions

A Note on Performance

Most editors use the static analysis library Jedi to analyze your code and the libraries you are using and provide the necessary data for code completion. The work Jedi's does can be quite expensive and it requires large amounts RAM and CPU power to parse through some of the stubs

After the initial setup, the Autocomplete will be a bit slow at first, but it should get better as you use it and the libraries are cached.

Here is where the indexes are typically saved:

  • Visual Studio Code: C:\Users\{username}\AppData\Roaming\Jedi\Jedi\{python-version}
  • Sublime: ..\Sublime3\Data\Index
  • Atom: ?

These indexes can get very large. That's an issue with the Jedi Autocomplete engine and beyond the scope of this project.

Lastly, some of the stub files created were too large for Jedi to handle (On Atom and Visual Studio Code for instance, it can cause Memory Errors as ram usage spiked up to +10GB).

To get it work smoothly, this project includes an optimized version of the stubs. This version is the folder called stubs.min. It is highly recommended you use this version as well. The stubs are optimized by splitting large classes into smaller ones and removing unnecessary characters.

For more information on the 'optimization' see the proces_stubs.py file.

Clone this wiki locally