I've just implemented an improvement in gdalwarp to automatically set the
existing SKIP_NOSOURCE=YES warping option when it is safe to do so. This
option helps improving performance when a source dataset doesn't cover the
full size of the output dataset. This is particularly interesting when warping
into a fixed tiling scheme and/or when use gdalwarp in mosaicing situations.
On a test scenario where the output tile is much larger than the extent of the
source datasets, this for example cut down the time from 14 seconds to 2
The logic to determine when SKIP_NOSOURCE=YES can be automatically set isn't
trivial, so please test and report if there are situations where this would
result in unexpected results.
Note that this will result in files potentially binary different than before
(blocks not being written in the same order), but the pixel values as read by
GDAL should be the same as without the optimization.