The implementation is straightforward (load the raster in memory, create rhealpix cells, write everything to a GeoDataFrame, which is in memory too), but inefficient, especially regarding RAM usage. For very large datasets this method will fail. On the other hand, a bad implementation that usess less RAM could be very slow.