gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] Tla working slower than cvs, how to speedup?


From: Alexander Litvinov
Subject: [Gnu-arch-users] Tla working slower than cvs, how to speedup?
Date: Sat, 5 Mar 2005 09:50:56 +0600
User-agent: KMail/1.6.2

Hello,

I have large project managed by cvs. After playing with GNU Arch (tla) I made 
the decision to move it to tla. Stable versions of this project is tagged in 
cvs. To test how it will work I get first version and import it into tla 
(including CVS directories) using tla_load_dirs. Then I get second version 
and again import it into tla using tla_load_dirs. And so on. After these 
steps I get HEAD of cvs and load it again. to speedup future work I make 
cachedrev of latest tla revision. From this time after each cvs commit I 
update my version of project from cvs and import it into tla. 

Everything is working good except speed of tla operations. Pay attention: cvs 
repo is a remote repository accessed via ssh. Tla uses local archive. Some 
timeings are at the end of the mail.

As a conclusion: tla work at least the same time as cvs does, but usualy 2 
times slower. It where way to speedup it ?

Machine info: SuSE 9.1 (linux kernel 2.6.5), SATA drive, 1G RAM. 
Tla from SuSE dist: 
> tla -V
tla address@hidden/dists--devo--1.0--patch-9
(configs/emf.net-tla/devo.tla-1.2) from regexps.com

Here is some timings:
today's first update:
   > time cvs -q up -dPA
   real    0m29.760s
next update (seems disk caches are working)
   > time cvs -q up -dPA
   real    0m5.751s
first tla operation:
   > time tla changes
   * looking for XXX/XXX--patch-30 to compare with
   * comparing to XXX/XXX--patch-30
   real    1m6.190s
second tla changes (again disk cache):
   > time tla changes
   * looking for XXX/XXX--patch-30 to compare with
   * comparing to XXX/XXX--patch-30
   real    0m10.246s
change one file and commit it:
   > time cvs -q ci -m "Test commit"
   Checking in XXX.java;
   XXX.java,v  <--  XXX.java
   new revision: 1.52; previous revision: 1.51
   done
   real    0m7.279s
after the same change in tla:
   > time tla commit -s "Test commit"
   M  XXX.java
   * update pristine tree (XXX/XXX--patch-30 => XXX--patch-31)
   * committed XXX/XXX--patch-31
   real    0m27.405s
checking out cvs project to new directory:
   > time cvs co XXX
   real    1m6.938s
get by tla:
  > time tla get XXX--mainline bt
   * from archive cached: XXX/XXX--patch-16
   * patching for revision: XXX/XXX--patch-17
   * patching for revision: XXX/XXX--patch-18
   * patching for revision: XXX/XXX--patch-19
   * patching for revision: XXX/XXX--patch-20
   * patching for revision: XXX/XXX--patch-21
   * patching for revision: XXX/XXX--patch-22
   * patching for revision: XXX/XXX--patch-23
   * patching for revision: XXX/XXX--patch-24
   * patching for revision: XXX/XXX--patch-25
   * patching for revision: XXX/XXX--patch-26
   * patching for revision: XXX/XXX--patch-27
   * patching for revision: XXX/XXX--patch-28
   * patching for revision: XXX/XXX--patch-29
   * patching for revision: XXX/XXX--patch-30
   * patching for revision: XXX/XXX--patch-31
   * making pristine copy
   * tree version set XXX/XXX
   real    1m52.731s
Patching takes about 3-7 seconds each. This seems to be long because patches 
are small:
   > ls -lah patch-*/XXX--patch-*.patches.tar.gz
   1,3K 2005-03-03 19:00 patch-17/XXX--patch-17.patches.tar.gz
   767 2005-03-03 19:08 patch-18/XXX--patch-18.patches.tar.gz
   5,0K 2005-03-04 10:54 patch-19/XXX--patch-19.patches.tar.gz
   3,9K 2005-03-04 11:02 patch-20/XXX--patch-20.patches.tar.gz
   2,7K 2005-03-04 11:18 patch-21/XXX--patch-21.patches.tar.gz
   3,1K 2005-03-04 11:25 patch-22/XXX--patch-22.patches.tar.gz
   4,7K 2005-03-04 11:43 patch-23/XXX--patch-23.patches.tar.gz
   5,9K 2005-03-04 12:43 patch-24/XXX--patch-24.patches.tar.gz
   6,2K 2005-03-04 13:03 patch-25/XXX--patch-25.patches.tar.gz
   3,8K 2005-03-04 13:17 patch-26/XXX--patch-26.patches.tar.gz
   33K 2005-03-04 15:19 patch-27/XXX--patch-27.patches.tar.gz
   1,9K 2005-03-04 15:49 patch-28/XXX--patch-28.patches.tar.gz
   3,4K 2005-03-04 15:53 patch-29/XXX--patch-29.patches.tar.gz
   14K 2005-03-04 16:55 patch-30/XXX--patch-30.patches.tar.gz
   1,1K 2005-03-05 09:21 patch-31/XXX--patch-31.patches.tar.gz

Some project stats:
   > du -sh
   84M .
   > find -type f | wc -l
   13220
   > find -type d | wc -l
   2732
   > find -type f -name '*.java' -exec cat {} \; | wc -l
   315224
   > find -type f -name '*.java' | wc -l
   2738





reply via email to

[Prev in Thread] Current Thread [Next in Thread]