Conversation
JukkaL
left a comment
There was a problem hiding this comment.
Looks good, just one (optional) comment.
| * Significantly speed up file handling error paths (Shantanu, PR [17920](https://github.com/python/mypy/pull/17920)) | ||
| * Use fast path in modulefinder more often (Shantanu, PR [17950](https://github.com/python/mypy/pull/17950)) | ||
| * Let mypyc optimise os.path.join (Shantanu, PR [17949](https://github.com/python/mypy/pull/17949)) | ||
| * Make is_sub_path faster (Shantanu, PR [17962](https://github.com/python/mypy/pull/17962)) |
There was a problem hiding this comment.
Minor: don't mention is_sub_path in the changelog. since it refers to an internal implementation detail.
There was a problem hiding this comment.
I'll keep the mention... I think all of these changes are basically internal implementation details (it would be worrisome if they were not ;-) )
The specific is_sub_path change is both one of the bigger perf wins and one of the riskier changes in this series (since the behaviour of is_sub_path is different)
| Mypy 1.13 allows use of the `orjson` library for handling the cache instead of the stdlib `json`, | ||
| for improved performance. You can ensure the presence of `orjson` using the `faster-cache` extra: |
There was a problem hiding this comment.
are there any stats for this? Any downsides? What's the comparison with sqlite?
There was a problem hiding this comment.
Depends on your workload and whether incremental or not, Jukka measured 10-15% in #17955 (comment) , I've seen the lower end of that
It composes with sqlite, since mypy's sqlite thing just dumps json into sqlite. I think sqlite cache is mainly a way to workaround filesystem performance. I haven't benchmarked (or really used) the sqlite option. Jukka mentions he'd like to make it the default in the future though: #17955 (comment)
No description provided.