This is perhaps a crazy idea, but I suspect that it may be of benefit to performance.
Language files are organised by component, which is great from a development point of view and helps minimise duplicate definitions.
However when serving I'm guessing that the strings used will be more constant towards the script than they will the component.
I wonder whether we would see a performance benefit from splitting the cached strings by script rather than component.
Whats more I have an idea about how I may be able to achieve this without significant changes.