Cache rosters of offline users in order to improve performance
Access checks involving rosters happens a lot, especially with PEP. This can lead to loading the same users' roster a large number of times every time one of their contacts broadcast presence. Loading recently used rosters from a cache instead of storage should improve performance and reduce needless I/O.
Should be fairly easy, just sprinkle some util.cache on top and call it a day! ;)