For development expediency many methods are implemented by converting the IPArray to an ndarray of ipaddress objects (slow), the operation is performed (slow) and the IPArray is reconstructed.
For most of these, we could operate directly on the IPArray, which should be much faster.
Ideally, everything would be done directly on the IPArray. As a stop-gap, we should document which methods are slow, and encourage users to reach out when that becomes a bottleneck.
For development expediency many methods are implemented by converting the IPArray to an ndarray of ipaddress objects (slow), the operation is performed (slow) and the IPArray is reconstructed.
For most of these, we could operate directly on the IPArray, which should be much faster.
Ideally, everything would be done directly on the IPArray. As a stop-gap, we should document which methods are slow, and encourage users to reach out when that becomes a bottleneck.