Skip to content

v0.5.0 - Remove MessagePool, Simplify API

Latest

Choose a tag to compare

@ulala-x ulala-x released this 30 Dec 10:33

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 from Socket.cs

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