Forum Moderators: open
It's fair enough especially when you consider the PR a lot of the threads here carry, it's bit a bit of a target for message board spammers.
My general impression is that:
Brett's post on professional forum spammers [webmasterworld.com] will give you a good insight into his thinking on these issues.
Trying to reduce complexity and increase speed (not vice versa)
There are 8 regexs that control [URL]'ization now.
Ever notice how fast WebmasterWorld is? (eg: the fastest board on the web on a moderate level server under the most intense and constant load of any forum on the web).
To "add a space" would be at a minimum another regex that could use up to a meg of system ram to process. That isn't an issue at lower levels, but at 2000pvs a minute, it is the difference between life and a dead server.
Thinking: are the posts stored as is and then processed on every load? Afaik that's how most bbs software works, no? Wouldn't it be another thing if the software would rewrite url's and such at posting time? I mean do all processing (all regex' like badword filtering, url rewriting, styles etc.) right at the moment before the post gets saved the first time? So that if the posts are loaded for viewing they are allready formatted? If a post gets edited, just do it reverse - reformat into bb code. However, i'm just guessing. No reall idea how this all works. You are the specialist. ;)
Perl always prefers to spit more ram at any given situation. (a meg might be over stating it though - even on a worst case)
>processed on every load
Yes.
> Afaik that's how most bbs software works, no?
Most yes. Some _can_ generate static content.
> at posting time
Yes, but since you have to generate or fill out the board template, then the added work of filling in the msg is easy and gives you the flexibility.
> I format the data before it is stored in the database
You bet - it is always better to do so where you can. While here, we are a slave to a flexible and even user modifiable template that needs to be built on-the-fly (fonts, colors, etc).
> caching
If I were to run nph scripts, I would allow caching of those that had not changed by using "if modified" headers appropriately.