March 01, 2008 by sharky
Fastest BitTorrent Clients - The Tests - A Comparison of Speeds in Realtime
Every BitTorrent software developer claims that theirs is the fastest BitTorrent client, but which one really IS the fastest? There are so many variables to be considered: Seed/peer ratio of individual torrents, public or private trackers (and number of trackers in a torrent), DHT “trackerless” support and UPnP port forwarding, just to name a few. Even the default “factory” settings of each client can have an big impact on download speeds.
So how it is truly possible to really know? Conduct speed tests in a controlled experiment, natch! Let’s put ‘em to a test!
About The Tests
To create a semi-controlled environment in which the data could realistically be used, we needed to conduct the experiment in realtime - in a scenario where ALL BitTorrent clients were using the exact same torrent (loaded simultaneously in each) and thus were ideally downloading at the same time. Not only that, but we repeated the same text three times with 3 different .torrents (all 5 clients were loaded with the exact same torrent at the same time, on three separate occasions).
OK, no peeking - don’t scroll down to the bottom just yet. Out of the five tested clients (µtorrent, BitComet, Azureus, BitTorrent and BitLord), which one do YOU think won the races?
The Variables
To cut down on some of the variables, we used the same torrent for each, from the same source (mininova.org) thus the trackers in the torrent would remain identical (and any changes to the tracker and seed/peers would be reflected identically for each in real time). We also “tweaked” the settings of each client to try and maximize speeds. Here’s what we attempted to do within each of the five BitTorrent clients, prior to running the torrent:
- Set each to “maximum” download speed.
- Set each upload speed to 50KB/s.
- Enabled DHT and UPnP where possible.
- Different port numbers (obviously) needed to be used, but we stayed within the good range for each client.
- Attempted to re-create the same ’settings’ environment through advanced connectivity options. Where applicable, each clients’ settings were modified to reflect these similar environments:
Although we conducted these tests using three different popular torrents, we only ran one torrent at a time for all of the clients. This ensured that we’d be able to achieve maximum or close-to max swarm speeds for each client during simultaneous downloading. The .torrent file itself is probably the most important constant of the experiment, which is why we chose to use the same torrent for all five (on three different occurences).
The Tests
We elected to use five different BitTorrent clients, and three different torrents to use in each. Also note that we (and so should you) have Peer Guardian 2 running during these tests. HTTP was allowed, and here are the blocklists we used:
The BitTorrent Clients
For the software, we wanted to provide the TOP 5 BitTorrent clients (in terms of usage and popularity). The first four in the roundup are no-brainers, but for the fifth one we relied on comparing alexa traffic rank data with number of downloads. In our opinion, BitLord rolls in at #5 (although this is debatable). Here’s the 5 clients we used in the testing:
- µtorrent (we used v1.6.1)
- BitTorrent (the original client) v6.0.2
- Azureus v3.0.4.2
- BitComet v0.96
- BitLord v.1.1
The .Torrent Files
For the *.torrents, we needed to supply an equal playing field for each client. To achieve this, we chose 3 different torrents from mininova.org (using public trackers). This would ensure that each client used the same publicly available torrent with the exact same trackers in each. Seed/peer statistics would thus be updated simultaneously for all clients.
We also opted for torrents that are proper “scene releases” listed on dupecheck websites (therefore eliminating the chances for anti-P2P tampering or amateurish uploads). Also note that all 3 torrents were one week old, in order to smooth out the highs-and-lows of seed/peer ratios normally associated with newly-released torrents. Here’s the 3 .torrents we chose:
- Rambo.IV.REAL.PROPER.R5.xVID-UNiVERSAL.4041898.TPB [mininova].torrent
- Sleuth.LIMITED.RERIP.DVDRip.XviD-DMT.[www.torrentfive.com] [mininova].torrent
- Bee.Movie.DVDRip.XviD-DiAMOND.4041897.TPB [mininova].torrent
The Results
Here are the results! All speeds are in KB/s.
BitTorrent Client | Test #1 - Bee Movie | Test #2 - Rambo | Test #3 - Sleuth | Average D/L Speed: |
µtorrent | 35.3 | 39.0 | 30.3 | 34.9 |
BitTorrent | 31.9 | 30.9 | 25.4 | 29.4 |
Azureus† | 44.0 | 39.1 | 28.8 | 37.3 |
BitComet | 55.0 | 40.0 | 29.9 | 41.6 |
BitLord | 51.0 | 39.0 | 31.0 | 40.3 |
†Azureus is the only client that doesn’t show a statistic for the “average” download speed of completed torrents. Instead, it shows data for the “time” it took to complete a torrent, in hours and minutes. To calculate the average download rate, for example - Bee Movie is 714.0 MB with a “Finished in” time of 4h 37m, we had to derive the KB of the file and divide it by seconds. 714 X 1024 = 731136 (total KB) divided by 4h 37m (277 minutes X 60) = 16620 seconds. Therefore the average download speed was 731136 / 16620 which equals 43.99 KB/s.
The winner? In our tests, BitComet is the fastest BitTorrent client. No surprise here, we could’ve already predicted that. It’s little wonder - BitComet has been banned by most private trackers for being a “dirty” client, and uses aggressive settings & features to maximize downloading.
NOTES: BitTorrent (the original Bram Cohen’s BT client) came in a dismal fifth place, and in all three torrent examples it was the last client that hadn’t finished downloading - to help it out, we removed the “seeding” torrents from all other clients so that it could finish downloading on it’s own with maximum bandwidth. If we hadn’t done this, BitTorrent’s speeds would have been even lower. µtorrent: We were surprised that it came in fourth place. Perhaps the version number may have had a factor - we used v1.6.1 (a private-tracker ‘friendly’ build number).
May this put your mind at ease!