Another aspect of this is that we have to keep in mind that given the current "publish your events widely, request events widely" duplication of read/write is far more demanding than necessary.
You read to the 10 relays you've configured in your client and you fetch the same event from 7, or 10, of them.
Clients being smarter about where to read/write yields end up downloading the same events from far less relays and less resources requirement.