[chora] Status / Roadmap
Anil Madhavapeddy
anil@recoil.org
Fri, 6 Apr 2001 10:32:47 +0100
Todd Kirby wrote:
>
> Doesn't the CVSweb perl script have the same
> bottleneck?
Yes. Although, we can reduce a lot of forks by implementing the 'cvs
server' protocol in PHP, and holding a persistent connection open. Or
saving results to a database and caching them (99% of the data in there is
easily cacheable, since CVS by its nature only appends information, and
doesn't change it). Bi-directional popen() in PHP would be a huge gain in
terms of reducing temp file usage.
The 'cvs server' protocol is obscure though. Look at the annotate code to
see what I mean. And the database is on the roadmap, once I get time to
breath again :-) Ideally, I just want to use the Horde framework to just
serialize CVSLib_* objects. If each CVSLib_File has a unique hash based on
its filename/lastmodified, given that some of these files don't change in
years, we have a big win in terms of time spent parsing them. And then you
can have repository-wide searching capabilities via the database too.
> It seems to me implementing the CVS functionality in
> php wouldn't be a very compatible way to go. It might
> be beneficial to a large installation like
> Sourceforge, but almost no one else is going to need
> that kind of scalability.
Indeed ... it's just easier to put a beefier machine than spend a whole lot
of time on it (for me at least), and there's so many other features I want
to press on with.
(Mathieu, your patches haven't been forgotten! I haven't sat down with
Chora for a while now though, I'll reinstall OpenBSD on my laptop this
weekend so I have a bit more time to play)
Anil