Tor's latency comes from four main sources: circuit build time (establishing the three-hop circuit before any data can flow), per-hop propagation delay (typically 20 to 100ms per hop depending on relay location), cryptographic processing at each hop (AES-GCM is hardware-accelerated but still adds overhead), and queuing at busy relays that are at or near capacity.
Circuit build time is the largest source of perceived slowness for web browsing. A new circuit requires an NTor handshake at each hop, creating 3 to 6 round trips before the first application data byte flows. This typically adds 1 to 5 seconds to the first request after a circuit is built. Subsequent requests reuse the established circuit and experience only the per-hop propagation delay.
Guard node performance dominates long-term connection quality. The guard node is your first hop and is held for weeks to months for anonymity reasons. A slow or distant guard node adds its latency to every Tor connection. Tor automatically measures guard bandwidth but the measurement process has some lag, and new guards are sometimes selected that have not yet proven their performance under load.