Actually, the previous comment is inaccurate: I don't reproduce the previous problem of the very first status being slow, but it is definitely slower with uncommitted adds than after commit.
Although the first two status runs are not doing more IO, they are quite noticeably slower, and the difference seems to be mostly in user time
bzr init 0.15s user 0.01s system 97% cpu 0.165 total
bzr add -q 0.73s user 0.08s system 98% cpu 0.822 total
bzr st > /dev/null 0.37s user 0.04s system 99% cpu 0.414 total
bzr st > /dev/null 0.34s user 0.05s system 98% cpu 0.396 total
bzr ci -m 'foo' -q 13.21s user 1.37s system 17% cpu 1:22.00 total
bzr st 0.16s user 0.05s system 96% cpu 0.217 total
bzr st 0.18s user 0.01s system 97% cpu 0.195 total
Actually, the previous comment is inaccurate: I don't reproduce the previous problem of the very first status being slow, but it is definitely slower with uncommitted adds than after commit.
Although the first two status runs are not doing more IO, they are quite noticeably slower, and the difference seems to be mostly in user time
bzr init 0.15s user 0.01s system 97% cpu 0.165 total
bzr add -q 0.73s user 0.08s system 98% cpu 0.822 total
bzr st > /dev/null 0.37s user 0.04s system 99% cpu 0.414 total
bzr st > /dev/null 0.34s user 0.05s system 98% cpu 0.396 total
bzr ci -m 'foo' -q 13.21s user 1.37s system 17% cpu 1:22.00 total
bzr st 0.16s user 0.05s system 96% cpu 0.217 total
bzr st 0.18s user 0.01s system 97% cpu 0.195 total