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