The text_summary() function used to generated trimmed teasers seems like it could be an expensive one. It does a lot of string parsing and also calls _filter_htmlcorrector() to correct broken HTML, plus the text it operates on (typically e.g. a node body) can potentially be very very large.
However, this function is called by text.module during hook_field_formatter_view(), right before a renderable array is returned. There is therefore no place in the code that would cache it.
This means that every time you view a node teaser, that function is being run, even if the node body hasn't changed. Doesn't seem ideal.
Comments
Comment #1
BerdirThis has been fixed by the entity render cache :)