After Kotlin update to 2.0.20-RC I see a huge 250...
# compose
t
After Kotlin update to 2.0.20-RC I see a huge 250k dex size increase (post R8 full mode). Probably due to strongSkipping now automatically remembering lambdas. Since I did not really had recomposition and need for skipping in most of the places the tradeoff seems huge and manually annotating every lambda (and finding them in the first place) sound crazy. Is there some kind of way to better list and identify the auto remembering of the lambdas like with compose metrics ?
Start of bytecode added everywhere:
Copy code
const v0, 0x4019c41a



    invoke-virtual {v10, v0}, Landroidx/compose/runtime/ComposerImpl;->startReplaceGroup(I)V



    invoke-virtual {v10, v1}, Landroidx/compose/runtime/ComposerImpl;->changedInstance(Ljava/lang/Object;)Z



    move-result v0



    invoke-virtual {v10, v2}, Landroidx/compose/runtime/ComposerImpl;->changed(Ljava/lang/Object;)Z



    move-result v20



    or-int v0, v0, v20



    invoke-virtual {v10}, Landroidx/compose/runtime/ComposerImpl;->rememberedValue()Ljava/lang/Object;



    move-result-object v6
Just to confirm it's the auto remembering.
k
It would help to put this increase in perspective. 250K for what baseline?
t
It's 3% increase but in all cases this is 250k that are mostly not needed in my case.
b
There isn't a way, but you can just turn off strong skipping mode if you don't need it
t
Well strong skipping helps for quite a few things specially when dealing with outside data, it's the lamba remembering that have an high cost and can be managed easily when needed. Too bad there's not an easy way to better see what the compiler do, do be able to tweak code and needs when this kind of things arise.