typetools / typetools/checker-framework
Compilation time doubling in Hibernate ORM
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 440
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 134
Description
After reading https://groups.google.com/g/checker-framework-discuss/c/pLYydnOjZak/m/s2ooHiHbAQAJ i.e.
It has to do all the same work as the compiler does, such as resolving overloading and overriding, inferring generics, and type-checking.
It starts to make sense to me why using checkerframework roughly doubles compilation times.
The Hibernate ORM project is now considering to disable the checkerframework by default and only run it on CI, because it slows down our day-to-day work.
Are there any potential improvements that can reduce this overhead in the future? Or is this simply a consequence of not being able to modify the compiler directly?
We only use the NullnessChecker and I would like to understand if there might be a way to reduce the overhead of this particular analysis. Or maybe you have suggestions for alternatives since nullness analysis is the only thing we care about?
Thanks in advance!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the NullnessChecker and the linked Checker Framework discussion about compilation overhead. The issue names no file, test, benchmark, or concrete acceptance criterion, so a contributor would first need to define how to measure the overhead and what improvement or alternative would count as done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100