lkml.org 
[lkml]   [2000]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectBK 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/

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.060 / U:0.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site