Hi, here is another release of KSP: <https://githu...
# ksp
t
Hi, here is another release of KSP: https://github.com/google/ksp/releases/tag/1.4.20-dev-experimental-20201222 This release introduced an experimental incremental processing support, which can be enabled via the Gradle property 
ksp.incremental=true
. Logs can be enabled by 
ksp.incremental.log=true
. They are disabled by default so no worries :-) Incremental processing in KSP relies on processor's knowledge of how inputs are associated with outputs. Therefore, a new parameter is introduced to 
CodeGenerator.createNewFile
. There is also 
CodeGenerator.associate
 to associate inputs and outputs, in case the relation isn't clear when creating the outputs. This is an API change that breaks existing code. Please see the API for details. Please give it a try and share your thoughts! We need your help to improve the API.
🎉 6
s
This is great news! I’d be curious if you had any benchmark information for how much incremental helps compilation speed
z
Are there plans to add an example of an incremental processor? The documentation alone isn't the most obvious to me, like when associate would be used vs just using Dependencies in createNewFile
t
Yes, I'm working on examples and better documents.
@spierce7 There is no real world benchmark results yet. We did measure the size of dirty sets with synthesized operations on a few projects and it looks good to me. Will publish the numbers in a few weeks.
@Zac Sweers in short, associate is used to append information. It is there because sometimes it may not be clear what inputs will be for the output.
👍 1