[Teammetrics-discuss] Commit statistics

Sukhbir Singh sukhbir.in at gmail.com
Mon Aug 15 19:47:24 UTC 2011


> Looks good for svn.  However, the git importer was broken by me with the
> poor try to get the revision via a pipe.  Do you know a better way to
> extract this (and make th egit importer functional again?

Hmm, I will try finding a better way of getting this.

> Regarding some speed optimization:  While I do not think that speed is
> very important, but I see some potential enhancement.  To my experience
> each ssh login takes its time because it always needs some
> authentication.  IMHO it would be much more performant if you login once

We login only once (commitstat.py: line 63) and then pass around
SSHClient() object wherever needed. The multiple log entries you see
are because when that object fetches the information from the server.
It does not disconnect/ connect again, it connects once at line 63 and
disconnects at line 227 after all the information has been fetched. I
don't think we can optimize this code any further; the phase which
takes time is because we fetch the diff for each revision and that is
what takes time. From the SSH point of view, this is already fast
enough.

If you are talking about saving the information all at once, no this
is not possible because as we get the information, we use it to go to
the next phase.

> IMHO it would be much more performant if you login once
> start a program on the host which extracts *all* needed information and
> returns some csv formated output which is parsed later.

Like I mentioned, the SSH connection does not take time, fetching the
diff for a given revision does.

Do you think starting a program on Alioth will improve the speed? If
yes, then it can be done. But IMHO, it's not worth it. The diff phase
will still take the same time since in our case also we are doing it
locally on Alioth.



More information about the Teammetrics-discuss mailing list