Here is a trace I captured from loading dist.ipfs.io's favicon (on v0.8.0-rc2):

You can see that it loads the same ressource over and over, there is no point to restarting from /ipns/dist.ipfs.io all the time.
Ideally once we resolve a path component we followup all future resolution from this path component or better.
They all endup calling into namesys.

It doesn't look like the latency impact is very bad because all but the first call to ResolvePath and first call to BlockAPI.Get are very fast, so they are probably hitting a cache, it looks like a low hanging fruit that would reduce allocations and CPU usage a bit tho.
Here is a trace I captured from loading

dist.ipfs.io's favicon (onv0.8.0-rc2):You can see that it loads the same ressource over and over, there is no point to restarting from
/ipns/dist.ipfs.ioall the time.Ideally once we resolve a path component we followup all future resolution from this path component or better.
They all endup calling into

namesys.It doesn't look like the latency impact is very bad because all but the first call to ResolvePath and first call to
BlockAPI.Getare very fast, so they are probably hitting a cache, it looks like a low hanging fruit that would reduce allocations and CPU usage a bit tho.