← Back to issue list

perf: lazy-load extension framework modules

View original Github issue

Metadata

Project
rockcraft
Number
#1208
Type
pull request
State
open
Author
lczyk
Labels
—
Created
Updated
Closed
—

Current evaluation

Lazy-loads extension framework modules to avoid eager imports of all six frameworks; CI green, awaiting maintainer review.

Suggested action: needs review

Reason: All CI checks are passing, there are no unresolved review comments, and the author checked the contribution guidelines, CLA, and lint/test boxes; only the release notes checkbox remains unchecked. The change is a clean performance optimization and is ready for maintainer review.

Evaluated by: mr-cal-bot

Impact: 40 Quick Win: 16 Complexity: 45 Confidence: 62 Actionability: 72

Issue body

just an idea. the extensions package eagerly imported all six framework modules at import time. for most `rockcraft ...` calls its not needed. i've changed the extensions to be lazy loaded (ahead of https://peps.python.org/pep-0810/ landing in 3.15) --- - [x] I've followed the [contribution guidelines](https://github.com/canonical/rockcraft/blob/main/CONTRIBUTING.md). - [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/). - [x] I've successfully run `make lint && make test`. - [x] I've added or updated any relevant documentation. - [x] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing. - [ ] I've updated the relevant release notes.

Evaluation history

Date Model Scores Action Summary
~deepseek/deepseek-pro-latest
Impact: 40
Quick Win: 16
Complexity: 45
Confidence: 62
Actionability: 72
needs review Lazy-loads extension framework modules to avoid eager imports of all six frameworks; CI green, awaiting maintainer review.
~deepseek/deepseek-pro-latest
Impact: 35
Quick Win: 13
Complexity: 50
Confidence: 60
Actionability: 75
needs review Lazy-loads extension framework modules to avoid importing all six at import time; CI passing, no reviewers, awaiting maintainer review.
qwen/qwen3.6-35b-a3b
Impact: 35
Quick Win: 21
Complexity: 15
Confidence: 75
Actionability: 70
keep open Lazy-loads extension framework modules to avoid importing all six at import time. PR is 127 days old, all CI passing, awaiting maintainer review.
qwen/qwen3.8-27b
Impact: 35
Quick Win: 19
Staleness: 58
Complexity: 45
Confidence: 80
needs review Makes rockcraft's extensions package lazy-load its six framework modules instead of importing them eagerly at import time, to speed up CLI startup. CI fully green, zero maintainer review; target file still eagerly imports, so the change is still applicable.
qwen/qwen3.6-35b-a3b
Staleness: 60
Complexity: 20
Confidence: 85
needs review Optimizes startup performance by lazy-loading extension framework modules instead of eager imports. All CI checks pass, but the PR has received zero reviewer comments and has been inactive for 69 days.
qwen3.6-35b-moe-q4
Staleness: 65
Complexity: 20
Confidence: 75
needs review Changes extension framework modules to lazy-load instead of eager-load to improve startup performance. Currently awaiting maintainer review with no comments or updates in 54 days.
qwen3.6-35b-a3b-mtp-q6
Staleness: 55
Complexity: 15
Confidence: 80
needs review Replaces eager imports of six extension framework modules with lazy loading to improve startup performance. Passes lint and tests but has zero maintainer feedback after 51 days.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/rockcraft#1259 (confidence 50%)

    Merged PR #1259 added V2 framework dispatch in the same extension modules, so this PR may need rebasing against those later changes.

Related issues

No related issues found above the similarity threshold.