Re: fork performance
Lloyd Parkes <[email protected]> Thu, 18 Oct 2012 18:36:18 +1300
| Newsgroups | gmane.os.netbsd.devel.performance |
|---|---|
| Message-ID | <[email protected]> |
On 18/10/2012, at 4:47 PM, Thor Lancelot Simon <[email protected]> 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