OpenPV 5.40.8
OpenPV 5.40.8
In Canary Now
This release is intended to improve memory utilization on application that use a high number of messages.
This release improves the memory management for Service Framework messages (SendMessage / SendNotification) which improves performance and decrease memory bandwidth usage. As a result the message throughput (on Select) goes from 3000 mgs/s to over 7500 msg/s at the same CPU% while decreasing in memory collections by around 4-5x. Note that was NOT a memory leak...but simply an improvement to how we reuse and manage memory.
This was accomplished with the following small, but backward compatible changes.
- Added new IsEnabled() call in AhsokaLogger to allow caller to check if the log should be sent prior to sending / creating. This improvement memory utilization by preventing string allocations and interpolation in hot paths.
- Added new higher performance calls to ProtoUtility that minimize alloc / dealoc size and tuned the existing calls to eliminate redundant memory copies / allocations.
- Remove all LINQ queries from critical paths in AhsokaSockets and Endpoints. While Linq Queries are high performance they use more memory than traditional iteration so were removed from these critical paths.
Please sign in to leave a comment.
Comments
0 comments