httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject warning: benchmarks are a stepstone on the road to hell, and a way out of the bind
Date Thu, 16 Apr 1998 09:32:04 GMT
Once an industry focuses too much on benchmarks you know it is time to leave.
Take it from an old timer. I could go on for pages about how an unhealthy focus 
benchmarks killed the Common Lisp industry back in the 80's.
Benchmarks and RISC computing may have even killed the internal organs
of the Unix industry. Like the silents victims of gamma/neutron ray exposure 
after an atomic/neutron
bomb attack, outside the blast zone, they appear well enough but are in fact 
rotting from the inside,
well beyond the help of medical science, unaware of their inevitable doom.
[Forgive the flowery language, there is useful technical information following.]

Correctness and tractability are so much more important than speed.

On the other hand, the most efficient thing going for developing 
high-value (dynamic) web applications is the writing of Apache modules
in the C programming language. Nothing currently beats C /C++ written by real C 
for speed of compilation (java 'so-called compilers' are much slower, and java 
startup overhead
is slower than most operating system linkers) for ease of development (assuming
a rich runtime library and state-of-the-art debugger) and ease of reuse in 
future projects.

But one of the major barriers to good C programming on the web has always been
the tendency to lace the source code to a project with embedded formatting 
be they in the form of printf("<H1>%s</H1>",doc_title) or the naively assumed
better but equally limiting output_header(1,doc_title);

Commercial "forth generation" tools and languages appear to get you out of this 
but usually it is difficult to adapt them for ultimate efficient use with other 
application enablers
such as Apache.

Instead, I propose that C programmers be allowed to program in C, and use
an HTML/XML "template compiler" to convert files containing textual information
such as markup, into objects that can be manipulated with orthopraxis (straight 
or good methods)
with ease.

Such a system is available at

With it you can compile HTML/XML template files into preparsed fast-loading
data structures, or into data definitions that can be compiled with the native 
C compiler
and statically and/or dynamically linked with an application.

It isn't entirely oriented toward C, because it also provides support for use 
with Perl
and a Scheme dialect of Lisp. But the strongest support is in the C language 
The C code is straightforward, compact, and thread safe.

I am very interested in getting feedback from a wider audience of users and 
potential users of
this package, and in particular the suitability of using it in writing Apache 

One obvious extension to the C code-generation aspect of the system is to make 
it easy
to embed C (or C++) code directly into HTML pages, in the same way that other 
support server-side java script, or embedded Perl. Right now it is possible to 
pointers to (names of) functions in C which are invoked at template processing 
A techinqiue which I've always recommended as being safer and more reasonable 
than allowing
"html hackers" to "get at" the server-side-programming aspects of a system.
But I don't beleive in making it difficult for people to do things that way.

View raw message