You're not currently signed in.

Comparison between CVS, SVK-1.00 and subversion-1.2.0

Here is a comparison on a repository with 18647 revisions (after being converted from cvs using cvs2svn). trunk has 5302 files and 652 directories.

    cvs local svk fsfs svk bdb svn fsfs svn bdb
  repository size 311Mb 1010Mb 1014Mb 1010Mb 1014Mb
  checkout (cold) 26.0s 90.8s 106.9s 155.8s 175.4s
  checkout (hot) 4.4s 24.9s 23.9s 136.6s 59.5s
  info (cold) * n/a 111.7s 128.0s 0.3s 0.2s
  info (hot) n/a 10.3s 19.8s 0.0s 0.0s
  status (no local changes) 5.3s 4.2s 3.8s 13.7s 15.0s
  update (already up to date) 5.0s 0.6s 0.6s 11.0s 11.7s
  switch (to a tag) 24.9s 14.8s 23.6s 24.8s 18.8s
  diff (from tag to branch) 10.2s 2.0s 1.3s 1.1s 0.7s

These tests where run on a Dual 2Ghz G5 running MacOS X 10.4.1 using the stock cvs binary and the svn and svk binaries from the SVN-1.00-2.dmg.

The repositories were always local and being accessed though file://, including cvs.

  • svk info actually builds a cache which provides more info about the current working copy like it's merge history, so it's not really equivalent to svn info. This cache is also used to make svk switch safe, in that it won't switch to something that doesn't have a common ancestor with the current wc.

Comparison between CVS, SVK-1.00 and subversion-1.1.4

Here is a comparison on a repository with 20044 revisions (after being converted from cvs using cvs2svn). trunk has 7377 files and 1089 directories.

  cvs local svk fsfs svk bdb svn fsfs svn bdb
repository size 365Mb 1174Mb 1275Mb 1174Mb 1275Mb
checkout 44.7s 49.6s 44.6s 166.3s 80.9s
status (no local changes) 22.2s 5.7s 5.6s 24.6s 20.2s
update (already up to date) 25.2s 0.6s 0.6s 16.3s 17.8s
switch (to a tag) 66.4s 82.2s 424.4s 28.5s 33.3s
diff (with a branch) 58.7s 1.6s 1.0s 3.6s 1.2s


All tests where run on a Dual 2Ghz G5 running MacOS X 10.4 using the stock cvs binary and the svn and svk binaries from the SVN-1.00.dmg.

The repositories were always local and being accessed though file://. The first checkout was also run twice at the start of each series to preheat the buffer cache.