How To Dynamic Web Rendering?

Adam D. Ruppe destructionator at gmail.com
Fri May 13 15:34:43 PDT 2011


Nick Sabalausky wrote:
> Be glad it's not VB6, or worse, VBScript.

Oh, I know it! One of my side jobs I picked up this year is
maintaining somd old VBS program, using classic ASP.

There's so much nonsense. It doesn't help that the original author
was horribly incompetent - he never used functions/subs, just copy
and pasted everything. Over and over and over again.

(And to make it worse, the authors apparently didn't know HTML. Not
a single standard link or form. *everything* is done as javascript
or client side vbscript - mixed at random - calls in href attrs.)


My biggest problem when writing code for them though is that I
instinctively put semicolons at the end of thoughts....

> CGI has had a stigma of high startup costs

I'm now convinced almost all of CGI's bad reputation is actually
Perl's problems that got misattributed. Starting a process is
quite fast. Starting a process, reading a script, compiling it,
and interpreting it... that's kinda slow. Moreover, Linux used to
be slower at forking new processes than it is today, so improvements
to the kernel help today too.

While my own benchmarks have shown a difference between mod_php
and cgi hello world.... those differences disappear once you
start using it on a real network. The slowdown of cgi is
nothing next to even a fast network ping.


Now, none of the sites I've worked on have had millions of users.
Maybe the tiny difference adds up. I doubt it, but I can't prove it.


But, let's face it. Virtually none of us have millions of users
anyway. And if I did, I'm sure I can spare a few days to profile
and fix the problem (either moving to persistent processes, or
profiling Apache or whatever) in between my cash showers and golden
baths. There's nothing inheriently slow about a D web site - quite
the opposite, actually.


> Have you had any problems with server memory caps and D's memory
> behavior?

No, but at the same time, I don't process huge datasets yet abd
run most everything on servers I have root on. (there is a portion
that runs on a shared host and my D does work there, it has very
light duties so I don't know what would happen if it hit the limit.)

CGI programs tend to be fairly short lived though, so the GC might
not be necessary at all. Once the request is complete, the process
terminates, releasing everything at once.


More information about the Digitalmars-d-learn mailing list