Here are some raw data during my tests.
This tests consisted in timing mount/umount time for ufs and zfs
We are not dowing mount/umount using the "[zfs] mount -a" because it
is a serialized mount/umount.
instead we do mount/umount in parallel, using the shell script below
For UFS, we''ve created 2400 fs  (which takes +2 hours), using one
metadevice, called d0, and 2400 x 100MB softpartitions on d0 (see
bottom for details)
for ZFS , 2 tests:  2400  and 10000 filesystems.
This was done on a Thumper with 500GB drives, using the same script below
enjoy.
s.
Results, using ptime:
* UFS: Mounting 2400 ufs filesystem (up to 30 mounts ops in parallel)
real     1:06.863
user       11.074
sys        53.473
*UFS: Unmount 2400 ufs filesystem (up to 30 umounts at same time)
real     1:02.891
user        9.103
sys      3:53.464
* ZFS:  mount 2400 fs (up to mounts 30 in parallel):
real       21.852
user       11.635
sys      1:00.002
* ZFS: umount 2400 fs (up to mounts 30 in parallel):
real       31.838
user       11.568
sys      1:44.680
* ZFS:  mount 10000 fs (up to mounts 30 in parallel):
real     2:21.493
user     1:00.641
sys      7:09.761
* ZFS:  umount 10000 fs (up to mounts 30 in parallel):
real     5:00.628
user       50.395
sys     17:45.306
--------------------------------------------------------------------------------------------
#!/bin/sh
i=1
while [ $i -le 10000 ]
do
if [ `pgrep mount | wc -l|awk ''{print $1}''` -gt 30 ]; then
        printf "$i "
        sleep 1
fi
# Activate one line only
#From here
#(yes | newfs /dev/md/rdsk/d$i; echo "$i ")&
#(mkdir /export/d$i; echo $i)&
#(zfs create tank6/d$i && zfs set mountpoint=/export/d$i tank6/d$i 
&&
printf "." )&
(zfs umount /export/d$i && printf ".") &
#(zfs mount tank6/d$i && printf ".") &
#(umount /export/d$i && printf ".") &
#(mount /dev/md/dsk/d$i /export/d$i && printf ".") &
#echo " /dev/md/dsk/d$i       /dev/md/rdsk/d$i      /export/d$i
ufs     1       yes      -" >> /tmp/bb
#To here
i=`expr $i + 1`
done
--------------------------------------------------------------------------------------------
Create metadevice d0:
# metainit d0 1 8 c4t0d0s0 c4t1d0s0 c4t2d0s0 c4t3d0s0 c4t4d0s0
c4t5d0s0 c4t6d0s0 c4t7d0s0
create soft partitions: d1->d2400 (takes 2 hours, not paralellized)
# metainit dXXXX -p d0 100m
zfs fs creation:
-zpool create -f -m none  tank6   c7t{0,1,2,3,4,5,6,7}d0
-for i from 1 -> 2400, do following:
zfs create tank6/d$i && zfs set mountpoint=/export/d$i tank6/d$i
- takes 3 minutes for 2400 fs
- takes 5.5 minutes for 10000fs