At 4:30 PM -0400 4/18/01, Geir Magnusson Jr. wrote:
>Kent Johnson wrote:
> > - I am seeing a few places where caching a value in a node could be
>> beneficial. For example, ASTNumberLiteral.value() parses its integer
>> value on each call. This is a relatively expensive operation. Another
>> example is ASTSetDirective.render() which calls String.substring() to
>> get the identifier name.
>
>The first we can fix. The second one also is safe. Consider them done.
The changes to ASTNumberLiteral, ASTReference and ASTSetDirective are great!
ASTNumberLiteral.value() went from about 6% of the total runtime to
effectively 0.
ASTSetDirective.render() is about 20% faster.
ASTReference.render() is about 30% faster.
Template.merge() is about 10% faster overall!
Kent