You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now that jackson-core added pluggability of recycler pools (see FasterXML/jackson-core#1089 ), and also provides a set of reusable implementations (see FasterXML/jackson-core#1064) we can tackle Smile-specific additional recycling: it also needs to allow re-configuring esp. to work with Project Loom where ThreadLocal based pooling really does not work well. This is likely to also help with Android usage, where SoftRefernences (used by default Smile recycler, in addition to ThreadLocal) does not work as well as vanilla J2SE JDKs.
So let's try to get this done for 2.16.
Class to change is SmileBufferRecycler.
For 2.16 we should still default to traditional recycler, but for 2.17+ should probably change the default. This allows for early adopters to switch over sooner, while we get feedback on how pooling works, best default to use.
The text was updated successfully, but these errors were encountered:
cowtowncoder
changed the title
Rewrite Smile buffer recycling to use new (2.16) RecyclerPool, allow configuring for non-ThreadLocal based pools
Rewrite Smile buffer recycling (SmileBufferRecycler) to use new (2.16) RecyclerPool, allow configuring for non-ThreadLocal based pools
Sep 30, 2023
cowtowncoder
changed the title
Rewrite Smile buffer recycling (SmileBufferRecycler) to use new (2.16) RecyclerPool, allow configuring for non-ThreadLocal based pools
Rewrite Smile buffer recycling (SmileBufferRecycler) to use new (2.16) RecyclerPool, allow configuring use of non-ThreadLocal based pools
Sep 30, 2023
Working on PR for this one (#402) I did a bit of local performance testing and had hard time finding actual speed up even for small documents (about 300 bytes). Looking at implementations, generator-side in particular seems less than useful, only recycling default-sized (64 entries) buffers.
So I think I'll try alternate PR in which recycling is completely removed instead.
Now that
jackson-core
added pluggability of recycler pools (see FasterXML/jackson-core#1089 ), and also provides a set of reusable implementations (see FasterXML/jackson-core#1064) we can tackle Smile-specific additional recycling: it also needs to allow re-configuring esp. to work with Project Loom whereThreadLocal
based pooling really does not work well. This is likely to also help with Android usage, whereSoftRefernence
s (used by default Smile recycler, in addition toThreadLocal
) does not work as well as vanilla J2SE JDKs.So let's try to get this done for 2.16.
Class to change is
SmileBufferRecycler
.For 2.16 we should still default to traditional recycler, but for 2.17+ should probably change the default. This allows for early adopters to switch over sooner, while we get feedback on how pooling works, best default to use.
The text was updated successfully, but these errors were encountered: