@nikoladze found a performance bug: if the first whole TBasket has inconclusive AwkwardForth, the code (before this PR) concatenated everything and ran the whole array through a generic iterable → Awkward Array transformation. The problem is that almost all of the data had been an Awkward Array already, all but the one TBasket with inconclusive AwkwardForth.
This PR adds an extra check for this case. If the list of basket-arrays is only partially Awkward, it converts the non-Awkward ones to Awkward individually so that the concatenated array doesn't have to be passed through the unnecessary generic iterable → Awkward Array transformation.
(There aren't any tests for this because it's based on private data.)
@nikoladze found a performance bug: if the first whole TBasket has inconclusive AwkwardForth, the code (before this PR) concatenated everything and ran the whole array through a generic iterable → Awkward Array transformation. The problem is that almost all of the data had been an Awkward Array already, all but the one TBasket with inconclusive AwkwardForth.
This PR adds an extra check for this case. If the list of basket-arrays is only partially Awkward, it converts the non-Awkward ones to Awkward individually so that the concatenated array doesn't have to be passed through the unnecessary generic iterable → Awkward Array transformation.
(There aren't any tests for this because it's based on private data.)