Richard Gaskin wrote:

Dan Shafer wrote:

On another thread, jbv (JB) wrote about using Rev as a CGI engine on Linux as a matter of regular course.

I'm curious. I've been laying out a design for an INternet-based app and figuring I'd have to use Python (which is OK because I love it but in some ways it may be overkill for this project) because of my understanding that a Rev CGI can't handle even modest volumes of traffic. This is apparently because a separate instance of the CGI is launched for each HTTP request received.

True or myth?


It's true on all non-Mac servers (Macs can use Apple events), but how is this different from Perl or Python?

It's the same, for Perl as CGI and Python as CGI. But both mod_perl and mod_python exist, and are (reputedly, haven't seen any figures or benchmark numbers) much faster than starting a new interpreter each time.

I know that in recent years there's an option in Apache to keep Perl resident in memory, but behaviorally it still acts as a separate instance.

If there isn't commonly the same sort of option for Python, then my hunch is that the resource demand would be measured by a combination of engine size (load time) and engine efficiency, and may not differ dramatically from the Rev engine. Jacque recalls Scott Raney once noting that when called as a CGI, the "faceless" engine does a lot less work at startup and loads almost instantaneously, even faster than a scriptless standalone.

Do I misunderstand something about CGI and/or Python?

Anyone have any hard comparison data about relative efficiencies between Rev and Python?

Yeah - they're both faster than the other for some things. Tell me which area you're interested in and I'll concoct a benchmark to prove that one is faster than the other; you tell me which one you want to win, and I'll make it win :-)


There is always the other option, of running a Rev (or Python, or Perl, ...) server, and serving requests directly from that. This can give significantly better response times and significantly higher transaction rates - but it means the server needs to satisfy all requests - even those that could have been left to basic html. And it means that you have a single instance - so in some cases the programming gets orders of magnitude harder, while in others it might get easier.

--
Alex Tweedly       http://www.tweedly.net



--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.9 - Release Date: 12/05/2005

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to