Song song là một lý do chính cho sự thay đổi tốc độ của các công cụ này. Một yếu tố đóng góp khác là họ chờ đợi câu trả lời trong bao lâu trước khi hop được coi là không phản hồi. Nếu DNS ngược được thực hiện, bạn cũng phải chờ điều đó. Lệnh traceroute đơn giản sẽ nhanh hơn nhiều, nếu bạn tắt DNS ngược.
Một sự khác biệt quan trọng khác, mà tôi không thấy được đề cập, là cách hai công cụ kết xuất đầu ra. Traceroute tạo đầu ra theo thứ tự từ trên xuống. Mtr biểu hiện đầu ra theo một cách khác, trong đó mtr có thể quay lại và cập nhật đầu ra trên các dòng trước đó.
Điều này có nghĩa là mtr có thể hiển thị đầu ra ngay khi có sẵn, bởi vì nếu trả lời sau đó khiến đầu ra đó không chính xác, mtr có thể quay lại và cập nhật nó. Vì traceroute không thể quay lại và cập nhật đầu ra, nó phải đợi cho đến khi cuối cùng nó quyết định những gì nó sẽ hiển thị.
Ví dụ: nếu hop số 2 không phản hồi (đó là triệu chứng tôi đã thấy trên nhiều ISP), traceroute sẽ hiển thị hop số 1 và sau đó đợi một lúc trước khi nó hiển thị hop số 2 và 3. Mặc dù phản hồi từ số hop 3 đã đến, nó không được hiển thị vì traceroute vẫn đang chờ trả lời từ hop số 2. Mtr không có hạn chế đó và có thể hiển thị trả lời từ hop số 3 và vẫn quay lại để hiển thị trả lời từ hop số 2, nếu nó đến sau
Quá nhiều song song có thể làm cho đầu ra trở nên không chính xác. Trong một số trường hợp, có giới hạn về số lượng gói bạn có thể nhận được trả lời. Gửi nhiều gói hơn trong các trường hợp đó sẽ không tăng tốc quá trình, tuy nhiên nó sẽ gây ra nhiều gói bị mất hơn, vì bạn nhận được cùng số lượng trả lời với nhiều gói được gửi.
Một ví dụ về điều này là khi một bước nhảy trên tuyến không trả lời các yêu cầu ARP. Thông thường gói đầu tiên sẽ kích hoạt yêu cầu ARP và nếu nhiều gói đến trước khi hết yêu cầu ARP, chỉ gói cuối cùng trong số đó sẽ được đệm và nhận được phản hồi.
Một sự khác biệt nữa là có bao nhiêu bước nhảy không có phản hồi sẽ được hiển thị trước khi công cụ dừng hiển thị nhiều bước nhảy hơn. Tôi đã thấy lệnh traceroute tiếp tục cho nhiều bước nhảy theo yêu cầu (30 theo mặc định), trong khi lệnh mtr sẽ dừng ngay khi nó vượt qua năm bước nhảy mà không có phản hồi.