. 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
spierce7
12/23/2020, 5:25 AM
This is great news! I’d be curious if you had any benchmark information for how much incremental helps compilation speed
z
Zac Sweers
12/23/2020, 11:49 PM
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
Ting-Yuan Huang
12/23/2020, 11:51 PM
Yes, I'm working on examples and better documents.
Ting-Yuan Huang
12/23/2020, 11:57 PM
@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.
Ting-Yuan Huang
12/24/2020, 12:00 AM
@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.