tech-perform archive

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

Re: fork performance



On 18/10/2012, at 4:47 PM, Thor Lancelot Simon <tls%panix.com@localhost> wrote:
> Why don't you run cvs locally?

I am. The cvs server is run from the main program via popen and this allows the 
main program to issue many cvs commands through a single pipe.

A bit more background: this is all being driven from a Python program that is a 
part of Mercurial which does a pretty good job of converting CVS repositories 
to Mercurial. The original code used popen("cvs log") once to read the entire 
revision log in one go and popen("cvs server") once to issue many checkouts 
(one per revision per file) to read the actual file data. Unfortunately, the 
output from "cvs log" cannot be parsed in the general case, and the NetBSD 
repositories present the general case. I changed the first bit of code to work 
like the second bit of code because "cvs log" for one revision of one file can 
be parsed in the general case.

I have to admit that if I were running the individual commands locally Python 
would hopefully be using vfork instead of fork. More thinking and testing is 
required.

Cheers,
Lloyd



Home | Main Index | Thread Index | Old Index