This would be quite a project. One thing is that for latex2html (l2h)
we cache the whole html page (e.g. 12345output.html) together with gif
or png images, so actually doing this for tth is no harder that for
l2h. However, there is a lot of code (in many places) that is needed to
maintain the caching system for l2h images and this would all have to
be duplicated for tth. We hope to be able to do away with latex2html
and caching when major browsers start supporting MathML but people have
been waiting for this for a long time.
Typeset mode is faster than tth under high loads if you precreate
images. I would suggest you use typeset mode (unless you are using
constructions that do not work in typeset mode) and precreate images.
Here are a few other suggestions:
First, if your sever is overloaded, figure out the maximum number of
apache child processes that can be run simultaneously in an efficient
manner [given the amount of memory you have and maybe the speed of your
processor(s)] and configure apache accordingly. If you get beyond this
limit, performance degrades rapidly.
Here's what we do at Rochester (1300 students on a dual processor 500
Mhz PIII machine with 512 MB of memory --- we just upped the memory
from 256 today but haven't changed the apache conf file and we don't
intend to) with a largest class consisting of 350 students.
Second, I'm not certain but maybe it's possible to run tth as
a process that doesn't have to be restarted every time. I looked
quickly and didn't see any mention of this in TtHgold (the commercial
version) but maybe someone has done this or would be willing to.
Third, in the short run, better hardware (e.g. a fast dual processor
machine with adequate memory) is probably a cheaper solution than is
the time in man hours required to implement caching for tth. This is
especially true since in the longer run hopefully mathML will replace
both latex2html and tth and in the intermediate run mod_perl should
speed up WeBWorK by a factor of 10 or so which should be sufficient
even with tth being a tiny bottle neck.
<| Post or View Comments |>