Messages in this thread | | | Date | Wed, 5 Jul 2000 14:12:26 -0700 | From | Larry McVoy <> | Subject | BK performance tip (22x faster) |
| |
--------- Linux performance tip for BK, if you aren't running Linux this may be less useful.
This is copied to the Linux kernel list in hopes that Linus & Co will consider changing the default to 32K or better. ---------
I was tracking down a perf problem for one of the Linux kernel guys. BK was taking a lot longer than straight diff in a hot cache situation.
In my own tests, cold cache behaviour for BK was very good, better than just doing a diff -Nur on two exported trees.
In the same tests, hot cache,
bk -r diffs
was taking 90 seconds on a 5500 file repository (Linux PPC tree for 2.2). But two copies of that tree could be "diff -Nur"-ed in less than 2 seconds.
I tracked it down to inodes. BK is using more inodes, it has one for the s.file, one for the checked out file (so far same as diff), and then one more for the p.file. For a kernel tree, that is 16482 entries which is just over the kernel default of 16384. And you need some for directories and anything else you are doing.
The upshot of this is that after bumping up the number of inodes like so
# echo 65536 > /proc/sys/fs/inode-max
and then running the "bk -r diffs" command again (twice to fill the inode cache), the running time dropped to less than 4 seconds down from 90, a 22x performance improvement. -- --- Larry McVoy lm@bitmover.com http://www.bitmover.com/lm
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |