What's Changed
Removed
- MessagePool completely removed - Removed MessagePool class and all related code for API simplification
- Deleted
MessagePool.cs,MessagePoolTests.cs,ReinitializeZmqMsgTests.cs - Removed pool-related fields/methods from
Message.cs - Removed
Recv(Message, int expectSize)overload fromSocket.cs
- Deleted
Changed
- Simplified Message class - Cleaner structure after removing pooling-related code
- Consolidated to 4 message buffer strategies
- ByteArray (Baseline)
- ArrayPool (recommended for ≤1KB)
- Message
- MessageZeroCopy (special cases only)
Documentation
- Complete benchmark documentation update
- Added GC optimization settings section (Server GC + Batch Latency Mode)
- Updated recommendations based on latest benchmarks
Recommendations
- ≤1KB messages: Use ArrayPool (best performance, minimal GC)
- ≥64KB messages: Use ArrayPool or Message
- ≥128KB messages: Use ArrayPool or Message (3.5x+ faster than ByteArray)
Full Changelog: v0.4.1...v0.5.0