Netty is currently in the process of being rewritten, and will be uploaded as it’s own standalone utility. The rewrite will contain significant performance enhancements.
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
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.
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.
Hi, could you please revive this? The Warp networking library has been archived today, and I’m in urgent need of a reliable alternative to depend on. Thank you!
Hello, i just realized it doesn’t support InvokeServer / InvokeClient is it me or am i missing something, if i’m misunderstanding something please correct me and my bad
Hi. Netty’s underlying system doesn’t support these as a default. It is however possible to implement this on your own. If you’d like to see my simple implementation, feel free to message me.
Also, a rewrite will be coming soon, which will change a lot of things internally.