Skip to content
Success

Changes

Summary

  1. Instead of storing packets about to be passed on as a byte array, store (commit: 99f361c) (details)
Commit 99f361ca77e52b5e95fea4444317ccfc94f4545a by md_5
Instead of storing packets about to be passed on as a byte array, store them as a Netty buffer, which is likely to be pooled, direct and manually memory managed leading to increased performance and less GC strain. In order to ensure no resources are leaked, we free them at the end of each handle cycle if they have not been passed to a channel for writing. In initial profiles this now causes encryption to be one of the most intensive parts of BungeeCord, however in depth profiling snapshots may provide further routes for optimization.
(commit: 99f361c)
The file was modifiedproxy/src/main/java/net/md_5/bungee/EntityMap.java (diff)
The file was modifiedproxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java (diff)
The file was modifiedproxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java (diff)
The file was modifiedproxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java (diff)
The file was modifiedproxy/src/main/java/net/md_5/bungee/UserConnection.java (diff)
The file was modifiedproxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java (diff)
The file was modifiedproxy/src/main/java/net/md_5/bungee/netty/PacketDecoder.java (diff)
The file was modifiedproxy/src/main/java/net/md_5/bungee/netty/PacketWrapper.java (diff)
The file was modifiedproxy/src/main/java/net/md_5/bungee/netty/PacketHandler.java (diff)
The file was modifiedproxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java (diff)