[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
Main Index |
Thread Index |