On Mon, 21 Jul 2003, Dave Rolsky wrote: > On Mon, 21 Jul 2003, Sam Tregar wrote: > > > I wouldn't be too sure. I implemented a lot of that stuff to add > > HTML::Template support to Bricolage and it's still much faster than > > Mason. > > "A lot" as in _all_ of it, or a "lot" as in autohandlers and dhandlers?
"A lot" as in everything that was needed to get HTML::Template to fill the role of Mason in Bricolage's publish process. I'd certainly be a fool to claim I'd implemented all of Mason! I doubt I could even list all the stuff that Mason does. > In other words, I don't think one could do all of the same stuff, or > even most, and achieve a huge speed increase. There would have to > be something sacrificed. My impression is that Mason doesn't get much advantage from clients that only use part of the Mason system. I imagine that one of the reasons that the Mason workalike I built for Bricolage is faster than Mason is that it only implements the functionality actually needed by Bricolage. Following this line of thinking it might be possible to modify Mason to only use/load the slower/bigger pieces when they are actually needed. Of course, I'm no authority on why Mason is slow or how it could be fixed. I have plans to go a similar route with HTML::Template in the future. I'd like to build a system that dynamically assembles itself based on the usage pattern of the program. That way if the programmer sticks to the basics they get a smaller, faster system. If they need the big guns then the more complete systems can be loaded at some moderate penalty. -sam