Skip to content

F-017: configuration-time performance pass (GH #106, #42)#161

Merged
stepango merged 1 commit into
v2from
forma/F-017-config-performance
Jul 12, 2026
Merged

F-017: configuration-time performance pass (GH #106, #42)#161
stepango merged 1 commit into
v2from
forma/F-017-config-performance

Conversation

@stepango

Copy link
Copy Markdown
Collaborator

Summary

  • Cache validator(...) instances and shared Kotlin FeatureDefinitions so multi-module configuration does not reallocate hot objects every target.
  • Lean applyDependencies / deps paths (skip empty repo + empty dep bags; typed merges; Set-backed catalog token filter).
  • Drop redundant per-target repositoriesConfiguration = Forma.settings.repositories.
  • Add docs/CONFIGURATION-PERFORMANCE.md + README/ARCHITECTURE links (measure with --profile).

Verify

  • plugins/: ./gradlew build --offline → BUILD SUCCESSFUL (:deps:test green)
  • application/: ./gradlew build --offline → BUILD SUCCESSFUL (2155 tasks)
  • Warm help --no-configuration-cache --offline Configuring Projects ~4.8s → ~1.1s on best same-host pair (wall-clock noisy under load)

Ticket

F-017 / GH #106 / GH #42

Cache suffix validators and Kotlin feature definitions, skip empty per-target repository/dependency blocks, and document measurement (GH #106, #42).
@stepango stepango merged commit 52cd4eb into v2 Jul 12, 2026
8 checks passed
@stepango stepango deleted the forma/F-017-config-performance branch July 12, 2026 23:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant