Skip to content

Cache repeated property discovery during template compilation - #61

Merged
gregjotau merged 1 commit into
mainfrom
perf/property-resolution-cache
Sep 19, 2026
Merged

gregjotau merged 1 commit into
mainfrom
perf/property-resolution-cache

Conversation

@gregjotau

Copy link
Copy Markdown
Contributor

Cache the pure KSP property/accessor lookup by declaration, containing type and property name for the duration of one processor invocation. Large applications resolve the same nested model properties repeatedly across templates and expressions; this removes repeated getAllProperties/getDeclaredFunctions walks without changing generated source, diagnostics, or the strict model checks.

Validation:

  • ./gradlew :compiler:check --no-daemon --no-build-cache
  • ./gradlew :example:test --no-daemon --no-build-cache
  • ReAI web-app/bedri/i18n classes and thimCheck with the composite compiler build
  • ReAI forced KSP comparison: 56.7s published 0.12.0 vs 49.3s warmed composite run on the same checkout; exact task time is environment-dependent.

@gregjotau
gregjotau merged commit 9e9f29b into main Sep 19, 2026
1 check passed
@gregjotau
gregjotau deleted the perf/property-resolution-cache branch September 19, 2026 06:46
@gregjotau gregjotau mentioned this pull request Sep 19, 2026
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