Avatar for the astral-sh user
astral-sh
ruff
Instrumentation
Wall Time
BlogDocsChangelog

Performance History

Latest Results

[ty] Add caching for submodule completion suggestions This change makes it so we aren't doing a directory traversal every time we ask for completions from a module. Specifically, submodules that aren't attributes of their parent module can only be discovered by looking at the directory tree. But we want to avoid doing a directory scan unless we think there are changes. To make this work, this change does a little bit of surgery to `FileRoot`. Previously, a `FileRoot` was only used for library search paths. Its revision was bumped whenever a file in that tree was added, deleted or even modified (to support the discovery of `pth` files and changes to its contents). This generally seems fine since these are presumably dependency paths that shouldn't change frequently. In this change, we add a `FileRoot` for the project. But having the `FileRoot`'s revision bumped for every change in the project makes caching based on that `FileRoot` rather ineffective. That is, cache invalidation will occur too aggressively. To the point that there is little point in adding caching in the first place. To mitigate this, a `FileRoot`'s revision is only bumped on a change to a child file's contents when the `FileRoot` is a `LibrarySearchPath`. Otherwise, we only bump the revision when a file is created or added. The effect is that, at least in VS Code, when a new module is added or removed, this change is picked up and the cache is properly invalidated. Other LSP clients with worse support for file watching (which seems to be the case for the CoC vim plugin that I use) don't work as well. Here, the cache is less likely to be invalidated which might cause completions to have stale results. Unless there's an obvious way to fix or improve this, I propose punting on improvements here for now.
ag/submodule-caching
6 minutes ago
fix wasm for real
dcreager/smoosh-reachability
39 minutes ago
use simpler rank bitvec
dcreager/smoosh-reachability
60 minutes ago
Cleanup
david/enum-expansion
3 hours ago
FxOrderSet
david/enum-expansion
3 hours ago
autofix for PLC0207 -- with rebase to latest main
junhsonjb:jjb-maxsplit-autofix
3 hours ago

Active Branches

[ty] Add caching for submodule completion suggestions
last run
6 minutes ago
#19408
CodSpeed Performance Gauge
0%
#19414
CodSpeed Performance Gauge
0%
#19382
CodSpeed Performance Gauge
0%
© 2025 CodSpeed Technology
Home Terms Privacy Docs