Re: gitweb, FastCGI and PSGI/Plack

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

 



On Mon, May 10, 2010 at 2:10 PM, Jakub Narebski <jnareb@xxxxxxxxx> wrote:
>
> Well, the support for 'plackup' in git-instaweb is / would be done not
> by converting gitweb from CGI to PSGI app, but by using gitweb.psgi
> wrapper.

wrapping gitweb.cgi with gitweb.psgi is a legitimate way to say
"converting CGI to PSGI app".

> It is true that with gitweb.psgi wrapper running gitweb as FastCGI
> script is just one command line option away.  But it does require Plack
> to be installed... well, on the other hand the modified gitweb needs
> FCGI module to be ran as FastCGI script, which is not a CORE Perl module
> either.

*nods*

> I also wonder how running via wrapper script affect performance, as
> compared to modified gitweb running as FastCGI script, using CGI::Fast
> and FCGI.

Based on my experience CGI::Emulate::PSGI doesn't have much of an
overhead because it's just swapping STDIN and STDOUT handles and
doesn't require stuff like tie or overload which tends to be slower.

> P.P.S. One of constraints to gitweb development is that it should run
> with minimal set of non-core modules.  Some people even complain that
> gitweb (or was it about git in general?) requires at least Perl 5.8.6 or
> about (because of Encode module and Unicode support).

I know, but git-instaweb is a different story, since you rely on the
fact that the system has one of web servers like apache, lighttpd or
mongrel.

And that's exactly why I've been suggesting to you use WrapCGI
(CGI::Emulate::PSGI  + CGI::Compile) instead of converting gitweb.cgi
to natively support PSGI. We're on the same page and i don't
understand why you keep disagreeing with me :)


-- 
Tatsuhiko Miyagawa
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]