Tor client finishes bootstrapping too early
Right now we start building circuits once we have 25% of the relay descriptors we'll want. The goal is to reach the 100% bootstrapped mark asap so the user doesn't have to wait.
But once we do that, for the next little while Tor has really horrible performance, since it's fetching dir info in parallel to whatever the user is trying to do.
This problem is especially noticeable in TBB, since it launches a Firefox and makes a new stream as soon as it's bootstrapped. That stream takes way longer than it 'should', and it's our user's first view of Tor performance. (But see also #3195 (closed), which would get worse if we delay bootstrap success.)
Once upon a time, when all Tor clients were on fast links and when the directory was small, there wasn't much harm in declaring bootstrap success early. You were nearly done anyway, and clients on fast links can handle doing two things at once.
But if you're on a fast link, you'll finish the rest of your bootstrapping pretty quickly anyway. And if you're on a slow link, we're cheating you by telling you you're all ready when you're not.
I think we should delay the 100% bootstrap mark until we have more of the descriptors we'll want -- I'm thinking between 75% and 100%. (We could still begin circuit attempts at the 25% mark, so circuit building happens in parallel to descriptor fetching.)