[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Javahl related questions

From: guillaume.perrotte <guillaume.perrotte_at_actia.fr>
Date: 2005-03-07 10:28:16 CET


If the amount of time difference between "svn status path" and "svn status
path -v" commands is only the ouptut, it could explain the whole thing.
Indeed, my workspace is pretty big (around 1800 files - 30 Mo) and it surely
takes a while to display the information of 1800 files on the command prompt
output. Using the javahl interface, the difference between "status(path,
true, false, false, false)" and "status(path, true, false, true, false)"
would also be the output which is the size of the returned array which is
surely faster than the command prompt output.

I have made other experiments to confirm my thoughts :
System = Windows XP, SP1
Workspace = 500 files / 3.6 Mo

- 1st status(path, true, false, true, false) : 5.7s
- other status(path, true, false, true, false) : 2.2s
- status(path, true, false, false, false) : 2.15s

- "svn status -v" : around 1s
- "svn status path -v" : around 1.5s

I'm still suprised by the fact the javahl interface is twice slower than the
command line client. Any idea ?

Considering the javahl dependencies, i'm ok with the DLL you mentionned but
i'm still wondering if any other file of the command line client
distribution should be considered as depedencies, especially from the iconv
and locale folders ?


-----Message d'origine-----
De : Patrick Mayweg [mailto:mayweg@qint.de]
EnvoyÚ : dimanche 6 mars 2005 19:11
└ : guillaume.perrotte
Cc : dev@subversion.tigris.org
Objet : Re: Javahl related questions

Hi Guillaume,
I am not aware of that problem. I know the was a performance problem
with the early 1.1.* releases for the status of single files.
Can you tell me more about your working copy and your system? (number of
files etc). Status is very dependent on disk cache status. Rerunning
status gives normally much better times.

guillaume.perrotte wrote:

> Hi,
> I'm currently writing a GUI interface for Subversion in java using the
> provided javahl binding. I'm surprised by the status() method
> performance : on my working copy, it takes the following times to
> perform whereas the command line client takes less than half the time !
> status(path, true, false, false /* only changed elts */) : 6.3 s
> status(path, true, false, false /* every elts */) : 6.4 s

The difference is not changed file but ignored files.

> svn status
> path : 1.9 s
> svn status path
> -v : 5.4 s

Thats interessting. The difference is only the amount of output.

> Are you aware of the issue ? Is it the JNI interface that slow up the
> whole process or the status binding that is uncorrectly set ?

I would normally not think so. I am calling the same function. In the
callback the Status object are created.

> Secondely, i'm not sure of the the dependencies of
> *libsvnjavahl-1.dll* used by the javahl binding distributed with
> Subversion 1.1.1. For now, i think the following dll are required but
> i'm not sure whether that's all or other files are required :
> intl.dll
> libapr.dll
> libapriconv.dll
> libaprutil.dll
> libdb42.dll
> libeay.dll
> ssleay.dll

All those and msvcrt.dll. Use the Microsoft tool depends.exe to detect
all required dll's. You can download it from the Microsoft web page.

> Thanks,
> Guillaume PERROTTE
> --
> Software developper @ ACTIA
> Toulouse - FRANCE


To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Mar 7 18:35:35 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.