Description
Description
I am currently trying to understand some performance issues inside my own wrapper of SCTK which seems to be limited to the wrapper, but somehow originates from licensedcode.cache
.
In this specific case, I use the SCTK API to retrieve the copyrights of a directory. To speed things up, I rely on joblib to spawn four parallel workers, each working on a separate file. This has been working without issues until Python 3.12, but for Python 3.13 I see much slower execution times the first time SCTK is called after the installation, id est most likely when the license index is being built.
During my testing, I observed that Python 3.12 would take about 12-13 seconds for the whole execution, while on Python 3.13 the first call would take nearly 4 minutes (and the second call 12 seconds). In some cases (involving a subprocess call) I would even run into lock file timeouts on Python 3.13 during index generation, id est the index taking more than 6 minutes to build.
How To Reproduce
Unfortunately, I cannot give a standalone example here, but only a reference to https://github.com/stefan6419846/license_tools/tree/parallel which contains the offending code.
System configuration
- What OS are you running on? (Windows/MacOS/Linux) - Linux
- What version of scancode-toolkit was used to generate the scan file? - 32.2.1
- What installation method was used to install/run scancode? (pip/source download/other) - pip