Is your feature request related to a problem? Please describe.
In #923 , we implemented the collection protocol in #927 , which can be 1X faster at most. This can improve space cost by 1X at most. Such optimization should be applied to array too.
Describe the solution you'd like
Refactor io.fury.serializer.ArraySerializers.ObjectArraySerializer to forward serialization to FuryArrayAsListSerializer.
- Wrap array into ArrayAsList`, note this wrapped object can't be reused if nested serialization invoke to this place too.
- Push array component generics to
FuryArrayAsListSerializer
- If array component doesn't have nested generics, reimplement the serialization in
ObjectArraySerializer for better peroformance.
Additional context
#1228