[...]
What I don't understand is that when creating the snapshots originally,
the time to create them is almost zero but when using btrfs send to the
other partition the times are _much_ longer. I guess it makes sense
that the first send of the first snapshot is slow, but why are the
second and third sends not much better?
Creating a snapshot only maniplates meta-data to mark blocks that
should be preserved (so they can be used if you need to roll back
to a snapshot).
My previous script using rsync for incremental backups of a file system
/ dir is faster - I can check the times if anyone is interested . .
rsync should be faster: send has to use the metadata to resconstruct the files
while rsync uses the current filesystem which is highly optimimized to
take advantage of caches and parallel operations.