I wanted to merge around 20 dem tiffs each around 100MB, and I used gdalwarp (I know about virtual file option):
gdalwarp $(list_of_tiffs) merged.tiff
However this command took very long time, and after some 15min it was processing 5th image from set. I terminate it.
I then found that gdal_merge.py script can be used also for mosaicing, and tried it:
gdal_merge.py $(list_of_tiffs)
which completed in less then 3min.
As I expected that both commands would produce same result, I wonder what's the difference between the two, as to why gdalwarp takes so much time if result is same?