Netty - The Blazingly Fast Network Library

Netty is part of my utility collection module, Commons
The Commons module (Netty included) is available through Wally

Netty

Netty is an extremely fast buffer-oriented networking library. Netty uses real-time buffer inscription to significantly improve your experience’s network performance.

What sets Netty apart from others?

Nearly every other network library that uses buffers to relay network data requires that you specify the types beforehand. Netty does not require this. Netty supports an unlimited number of arguments per remote call, and supports all data types. This allows for much more complex logic to be performed with fewer network topics being needed.

Performance

Netty’s performance is significantly better than just using standalone remote events. Here’s a comparison:
We’re firing 200 remote calls ever tenth of a second with one argument: the number 1

Roblox’s performance

Netty’s performance

Based off these tests, you can clearly see that under these circumstances Netty manages to shave off ~30 KB/S of data. The gap between Netty’s performance and Roblox’s performance only continues to grow as the KB/S increases.

Installation

Installing and using Netty is very easy. All you need to do is insert the Commons module and place it under ReplicatedStorage. Once you do that, you can require Netty and begin to use it. Documentation for Netty can be found here.

Netty’s source code is available on GitHub.

10 Likes

The link to the creator store is currently private or moderated.

Good Module though, I love it!

Oh, good catch! Fixing it rn, thank you for letting me know lol.

1 Like

No problem man. Im about to start using this resource. Love it!

1 Like

How is the performance compared to other modules such as ByteNet?

2 Likes

would love to see this comparison as well, I actually like this library and might consider switching to it or even contributing to it

Haven’t tested it yet. I’d imagine performance would be on-par, maybe even a bit better compared ByteNet in the realm of networking, as both heavily utilize buffers to reduce overhead. ByteNet might be faster in regard to computational times, as Netty uses a single threaded approach, and doesn’t replicate data instantly, but instead replicates once every Heartbeat (for both the server and client).

Overall, I’m planning to run a few tests soon, and I’ll get back to you with definitive results.

EDIT:
Just realized I made an error by calling Netty “single-threaded”. Netty uses a singular thread per frame for outbound events, and instantly spawns each inbound event set (set referring to a compressed set of individual events being sent through one remote request) in its own thread.