Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Creators
Details
Chionanthus
Overview
Chionanthus is a high-performance network optimization mod for Fabric that dramatically reduces bandwidth overhead and improves connection efficiency. Through intelligent packet batching, compression pooling, and adaptive flush strategies, Chionanthus optimizes Minecraft's network layer without compromising compatibility or stability.
Features
Network Layer Optimizations
Intelligent Packet Batching
- Consolidates multiple packets into single network operations
- Reduces system call overhead compared to vanilla
- Three adaptive flush strategies: Adaptive, Tick-Aligned, and Thread-Local
Advanced Compression Handling
- Thread-local object pooling eliminates repeated Deflater/Inflater allocation
- Buffer pooling reduces byte array allocations during compression
- Configurable compression levels with hot-reload support
Optimized Packet Framing
- Custom variable-length integer encoding/decoding
- Reduced overhead in packet length encoding
- Streamlined frame decoder and prepender implementations
Server List Performance
Dynamic Thread Pool Management
- Adaptive thread pools that scale with server count
- Prevents resource waste from vanilla's fixed 50-thread pool
- Intelligent timeout handling prevents UI freezes on unresponsive servers
- Proper lifecycle management prevents thread leaks
Performance Monitoring
Built-in Metrics System
- Tracks packet counts, compression ratios, and flush efficiency
- Thread-specific flush pattern analysis
- Optional debug logging at configurable intervals
- Zero performance impact when disabled
Technical Details
To achieve its optimizations, Chionanthus:
- Injects custom handlers into Netty pipelines during connection initialization
- Replaces vanilla compression handlers with pooled, high-performance alternatives
- Manages thread-local resource pools for lock-free, per-thread optimization
- Uses atomic primitives for lock-free coordination in flush handlers
Flush Strategies
Adaptive Flush Handler Dynamically adjusts batching based on current packet rate for optimal performance across varying network conditions.
Tick-Aligned Flush Handler Batches packets per game tick (50ms intervals) for consistent, predictable network behavior.
Thread-Local Flush Strategy Applies thread-specific thresholds optimized for render, server, and IO threads.
Thread Safety
All optimizations are designed with thread safety in mind:
- ThreadLocal pooling provides lock-free per-thread instances
- Atomic operations eliminate synchronization overhead
- Proper volatile usage ensures visibility across threads
Configuration
Chionanthus provides extensive configuration options:
Network Settings
- Maximum packet size: Configure packet size limit for mods and data packs with large data transfers
- Compression level: Fine-tune compression
- Flush consolidation: Toggle packet batching on/off
- Flush strategy: Enable/disable Adaptive, Tick-Aligned, and Thread-Local strategies
- Base flush threshold: Adjust batching aggressiveness
- Max flush delay: Set latency cap in milliseconds
Server List Settings
- Thread pool sizing: Minimum/maximum threads and overhead calculation
- Thread keep-alive time: Control thread lifecycle
- Pool recreation threshold: Prevent resource drift
- Ping timeout: Prevent user interface freezes on unresponsive servers
Debug & Monitoring
- Performance metrics: Optional detailed logging (performance impact when enabled)
- Metrics interval: Configure logging frequency
- Hot-reload: Apply configuration changes without restart (where supported)
Performance Impact
Flush Consolidation: Reduces from 1 syscall per packet to 1 syscall per batch
Compression Pooling: Eliminates allocation overhead by reusing pooled instances
Thread Pool Scaling: Dynamic sizing based on actual server list size vs vanilla's fixed 50 threads



