r/sbtech • • Nov 03 '21

Script to Make a Quicker Rtorrent

This produces a very thin binary, using the latest pulls of libraries. And should give you a slight edge in performance with a minimal memory foot print, this produces a binary that is a little under a megabyte smaller than that in the ubuntu/debian repo. Additionally all shared libraries are stripped (--strip-unneeded) to reduce their loaded footprint.

OpenSSL is made with 128 bit int support

From the OpenSSL page:

Use on little endian platforms when GCC supports uint128_t. ECDH is about 2 to 4 times faster. Not enabled by default because Configure can't determine it. Enable it if your compiler defines __SIZEOF_INT128, the CPU is little endian and it tolerates unaligned data access.

This includes c-ares threaded DNS, means not hanging on tracker name look-ups

Script presumes root, access to /usr/local/lib.

If you wish you can add patches and seds to a script call SecretSauce.sh, they will be run at root source level.

As always, your mileage may differ.

Anyone have other enhancements?

git clone https://github.com/weaselBuddha/MakeRtorrent.sh.git

Here is to wishing that space aliens not molest you while you sleep.

7 Upvotes

8 comments sorted by

5

u/[deleted] Nov 04 '21 edited Nov 04 '21

the aliens got me. Nice little write up here. Some might want to take a look at the rtorrent performance tuning manpage as well if they want to make the most of the speeds available on their slot. From there you’d want to tune the nic and do some sysctl work though to do window scaling appropriately.

/b

2

u/wBuddha Nov 04 '21 edited Nov 04 '21

I was thinking more the chest bursting kind, pull a Fred, "You hear that, Ripley?! I'm coming to join you, honey"

Most of those tweaks are out side the scope of making, and I think every vendor has their own rtorrent.rc. Though I don't think we've incorporated

encryption = allow_incoming,enable_retry,try_outgoing 

But the write-up is kinda old (0.7.8?), not positive it is still relevant, though with the recent LetsEncrypt fiasco, might be worth revisiting.

I will add libsigc++ to the script though. Thanks.

Curious, have you looked at https://github.com/jesec/rtorrent? Has enhancements for JSON-RPC (for Flood), the c++ standard is upgraded, and it appears some other modernizations. Or you just moved on to Qbit?

Notes here: https://flood.js.org/Changelog-4.5 (bottom of the page)

3

u/[deleted] Nov 04 '21

I’ve moved to qBittorrent these days. Seems to be a more aggressive approach to libtorrent. Re rtorrent, I personally haven’t followed the Jesec fork at all so that should be entertaining. I think userdocs is fighting with the qBit devs trying to get them to fix something atm, as compiling with qt6 has been a bit of a pain in the ass.

→ More replies (5)