BK performance tip (22x faster)

From: Larry McVoy (lm@bitmover.com)
Date: Wed Jul 05 2000 - 16:12:26 EST


---------
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/



This archive was generated by hypermail 2b29 : Fri Jul 07 2000 - 21:00:17 EST