cms.rendner
rendner.bsky.social
cms.rendner
@rendner.bsky.social
Software Developer. Author of StyledDataFrameViewer (PyCharm plugin).
Thank you for your blog post.

I often read that cache misses can drop performance. Which you also face when using data structures like linked lists (pointer chasing). But was not aware that this can reduce the performance so much.
December 20, 2024 at 6:00 AM
OK. What if I have an in-memory db instead? In that case most of my objects would have to stay in memory.
November 17, 2024 at 5:11 PM
Many thanks for the detailed write-up. Do you know how programs that use large in-memory caches avoid full gc cycles to stay fast? Are there tricks to prevent these heavy cycles without disabling the gc?
November 17, 2024 at 4:12 PM
I think this is the main reason why static code completion was added to PyCharm and is now the default code completion.
October 22, 2024 at 6:18 AM
Whenever the property "x" is called the message is printed. Getting code completion for "x" will execute the print statement. This can be confusing for the user, but is harmless compared to starting a long-running process or code which modifies the internal state.
October 22, 2024 at 6:17 AM
Using runtime code completion can cause side effects. The following code has a print statement inside a property attribute.
October 20, 2024 at 7:25 AM
Even the pydoc strings are extracted in this step to display them in the pop-up window of the quick documentation if desired.
If you are interested in how this information is extracted, you can take a look for yourself:

github.com/JetBrains/in...
intellij-community/python/helpers/pydev/_pydev_bundle/_pydev_completer.py at master · JetBrains/intellij-community
IntelliJ IDEA Community Edition & IntelliJ Platform - JetBrains/intellij-community
github.com
October 20, 2024 at 7:25 AM
Under the hood, PyCharm uses a collection of Python scripts to interact with the interpreter. In case of runtime code completion, the current code that needs to be completed is sent to a helper script. Depending on the context, the script extracts the information and returns it.
October 20, 2024 at 7:24 AM
Since my DataFrame viewer plugin also supports older versions of PyCharm, I took a look at the runtime code completion.

Whenever the user triggers the code completion, the Python console fetches the required information from the Python interpreter.
October 20, 2024 at 7:23 AM
PyCharm offers runtime code completion and static code completion in the Python console.
Static code completion was added in PyCharm 2023.2 and enabled as default in 2023.3.
October 20, 2024 at 7:23 AM