EXTREME Speed Tests of various BitTorrent Apps

Other platforms, generic questions.
Post Reply
Switeck

EXTREME Speed Tests of various BitTorrent Apps

Post by Switeck »

Speed tests over loopback/ Windows
===================================
Test conditions:
-Using multiple BitTorrent clients on the same computer over 127.0.0.1 loopback.
-The files being transferred are all on a ramdrive (almost 5 GB DDR3), so effectively ruling out slow drives as well.
-CPU is Intel i5 650 3.2 GHz -- dual core with hyperthreading.
-Unless stated otherwise, these speeds are all UPLOAD speeds to uTorrent v2.2.1.
-The test is a single TCP connection at a time -- 1 seed to 1 peer, which may show severe pipelining issues. Multiple seeds to multiple peers could be faster depending on program designs, but would certainly cause a much larger CPU load.
-As many settings as possible were disabled in the various BT clients -- no DHT, LPD, trackers, uTP, and even half open connections were set as low as possible since only 1 connection had to be made. Were more settings enabled, CPU loads should be higher. Peers were manually added to the torrent so even a local tracker was unnecessary.

*Tixati v2.2.5 -- 55 MB/sec peak and sustained 30 MB/sec. ( maxes out a CPU core -- 25% of CPU's max as it has 4 virtual cores)

Notes:
Seems Tixati acts single-threaded and is unable to spread its CPU load between multiple cores.
When I set other very high CPU-using apps to highest priority and Tixati to lower priority, its speeds plummeted -- it even stalled out and crashed once.

*Transmission v2.84 for Windows -- 37 MB/sec often being unable to sustain an upload speed over 20 MB/sec (CPU usage: at 2-5%...)
Tixati to Transmission is a "blazing fast" 8 MB/sec.
Transmission to Tixati runs at 12.5 MB/sec.

*Deluge v1.3.12 -- 101 MB/sec. (CPU ~36% , ~40% in non classic/BG mode)

*uTorrent v2.2.1 -- 130 MB/sec, 100 MB/sec sustained  (CPU: 25%) -- this was uploading to qBitTorrent.

*qBitTorrent v3.3.0beta --  130 MB/sec, 120 MB/sec sustained (CPU: 33-36%)
qBitTorrent to Transmission strangely also runs at 8 MB/sec. Transmission is at 2% CPU...qBT while uploading to Transmission is bouncing between 0-2% CPU.
Transmission to qBitTorrent runs at 111 MB/sec.

Notes:
-Both Deluge and qBitTorrent use libtorrent, so results are similar.
-uTorrent writes whole pieces in 1 go,  qBT and Deluge do not: http://forum.deluge-torrent.org/viewtop ... 12&t=36959
-Deluge 10 Gbit/sec seedbox results: http://forum.deluge-torrent.org/viewtop ... =7&t=53423
-Deluge has its own speed problems:    http://forum.deluge-torrent.org/viewtop ... 12&t=53855
-multi-file torrents are slower than single file torrents of the same size: index.php/topic,2627.msg12725.html#msg12725

Conclusion:
Even with the fastest possible connection and storage devices, common BitTorrent clients are likely incapable of significantly exceeding 1 gigabit/sec (~120 MB/sec) transfer speeds due to their complexity and/or lack of parallel processes. The tests were typically bottlenecked by my "slow" CPU. If I disabled hyperthreading, a BT client could use half my CPU and possibly be faster.
Last edited by Switeck on Fri Jul 15, 2016 7:30 pm, edited 1 time in total.
ciaobaby

Re: EXTEME Speed Tests of various BitTorrent Apps

Post by ciaobaby »

If I disabled hyperthreading, a BT client could use half my CPU and possibly be faster.
Just in case any one thinks this is counter-intuitive, and that making a 'virtual' quad core into a 'real' dual core makes it run 'faster'.

The "hyper-threading" to allow the CPU to run four threads on two cores requires the processor to do what is called "context switching" which results in none of the threads being able to use the full capability of the CPU core(s).
davdesj

Re: EXTEME Speed Tests of various BitTorrent Apps

Post by davdesj »

So this was from RAM to a conventional HDD, right ?

Therefore old uTorrent, and libtorrent pretty much overload the hdd writing speed if it can.

Quite disappointing performance from Tixati, I thought higher of it.
Switeck

Re: EXTEME Speed Tests of various BitTorrent Apps

Post by Switeck »

No, this was ram to ram.
At no point in the test were the torrents copied to or from a HDD!
I copied the files used from my HDD to the ram drive BEFORE the tests began so there wasn't even heavy accessing of the HDD while doing the tests (which might cause additional CPU load).

This was using a single seed and a single peer. There are some speed gains downloading from 5+ seeds+peers at once. Transmission's incredibly low speed is proof enough of that.

Considering ~10 MB/sec is roughly all a symmetric 100 mbit/sec fiber optic line can deliver, even Tixati's max speeds are sufficient for most people.
User avatar
Peter
Administrator
Administrator
Posts: 2694
Joined: Wed Jul 07, 2010 6:14 pm

Re: EXTREME Speed Tests of various BitTorrent Apps

Post by Peter »

@Switeck:
Just a few thoughts:
- Hyper-threading should be disabled - it's pretty much useless - and it's a shame that Intel did an i5 with dual core only.
- CPU should get a fat overclock, and a new cooler before that happens. (such CPU can do ~3.7-4.0ghz solid, air)
- Filesystem is also a big question here. It would be better to do tests under Linux with a non-journaling FS.

I have machines with more RAM, but all of them have crappier CPUs.
Switeck

Re: EXTREME Speed Tests of various BitTorrent Apps

Post by Switeck »

The CPU in question is fast enough without disabling Hyper-threading that it shouldn't be much of an issue.
Overclocking the CPU will at best yield a percentage speed increase no greater than the CPU relative speed change for qBitTorrent, Deluge, and uTorrent.
Underclocking the CPU (or running on a slower CPU) would probably be a more informative test, as would underclocking the motherboard and/or ram speeds/timings -- speeds might fall off a cliff far out of proportion to the percentage changes.

It would better if others could collaborate my results rather than me overclocking my CPU or disabling Hyper-threading.
I did retests with heavy CPU-using apps running at the same time, but only posted Tixati's results because the others weren't nearly as heavily impacted.

Tixati and Transmission seem bottlenecked by something in their code to keep them far lower in speed. Strangely, this didn't apply when Transmission was uploading to qBitTorrent!

The ramdrive was using FAT32 with 4 KB cluster size. It has no journaling.
In my sparse files tests, I specifically formatted the ramdrive with NTFS.

I have read that some file systems (and SSDs!) lack write-in-place ...so that might also impact tests.
Can you do similar tests on Linux, Peter?
User avatar
Peter
Administrator
Administrator
Posts: 2694
Joined: Wed Jul 07, 2010 6:14 pm

Re: EXTREME Speed Tests of various BitTorrent Apps

Post by Peter »

My main issue is that I have a mobile CPU which can turbo boost of course, but will reduce clockspeeds soon enough.
And the desktop CPU I have is slower than yours (i7 first gen).

So... yeah.
I have tried overclocking my CPU of course, but for some unknown reason I never managed to get a stable OC out of it.
Meanwhile my friend's AMD Athlon X2 ran over 4Ghz. And same goes for his new Phenom.

Last time I sold my used Core2 which I also could not OC, and the buyer messaged me with some crazy OC screenshots.
I always seem to have a good luck to pick a motherboard that just won't OC the CPU properly.
Cartoonish

Re: EXTREME Speed Tests of various BitTorrent Apps

Post by Cartoonish »

@Switeck  I just wanted to say thanks for all your effort testing the clients.  Your efforts inspired me to do a few test of my own this week.  I posted the results here:  https://www.reddit.com/r/torrents/comme ... ents_with/

Have a great weekend.  Cheers!
Switeck

Re: EXTREME Speed Tests of various BitTorrent Apps

Post by Switeck »

It looks like you've tried to deal with the internet-side of the speed tests.

But there's so many variables there, it's almost impossible to do a good internet test.
Even everything after the 1st run may go better due to other peers/seeds having a PEX/DHT/LPD record of your ip:port! (This happens even when you have them disabled, on public torrents at least.)

I really would like it if you could duplicate some of my later tests, but I'd rather PM you (at this forum) the details instead of cluttering here.
Post Reply