I have a plypython function which does some json magic. For this it obviously imports the json library.
Is the import called on every call to the function? Are there any performance implication I have to be aware of?
I have a plypython function which does some json magic. For this it obviously imports the json library.
Is the import called on every call to the function? Are there any performance implication I have to be aware of?
The
import
is executed on every function call. This is the same behavior you would get if you wrote a normal Python module with theimport
statement inside a function body as oppposed to at the module level.Yes, this will affect performance.
You can work around this by caching your imports like this:
This is admittedly not very pretty, and better ways to do this are being discussed, but they won't happen before PostgreSQL 9.4.