Currently the whole XSPF stack is called for each XSPF playlist view. This can be cached on node centric content. Implement function calls in hook_nodapi() that build the XSPF data for this node. When a list of nodes is called to be rendered, pull data from cache if it exists.