From scipp/essdiffraction#71 (comment):
Well, the larger issue is that we have to concat first, which in itself is avoiding other performance issues. Making many->many mapping is a long-standing issues and has seen a couple improvements in the past, but is apparently not fully solved (See scipp/scipp#1846).
What could probably be done in Scipp is bypass the single-threading issue, but it also required some thought (not sure there aren't any subtleties yet), but it is slightly odd to put an optimization for a solution that bypasses another problem.
Note the similar code exits in ESSsans.