Gatherer and primitive specialization
Remi Forax
forax at univ-mlv.fr
Thu Jun 13 08:16:38 UTC 2024
Hello,
the Gatherer API do not provide primitive specialization while intermediate methods like map(), flatMap() or mapMulti() do.
Unlike collectors where it is okay to not be specialized because most collectors mutate a collection that is not specialized too,
gatherers can process/transform values so having boxing in the middle of those kind of computations is a performance pothole.
I think there is a trick that can be used, we do not need to specialize all the functions of the Gatherer API but only the integrator.
All other functions are called a few time when a stream is processed so they may not need specialization, only the integrator is called a lot.
regards,
Rémi
More information about the core-libs-dev
mailing list