Extra memory usage in RFA.NET

We are currently using RFA.NET 8.0.1 and we have seen approximately 35% extra memory usage when switching to RFA.NET from our previous code which used an older version of the C++ RFA libraries. We also compare the memory usage using StarterConsumer from RFA C++ and RFA.NET package requesting just one RIC which has no update from the same server and found that StarterConsumer from RFA C++ 8.0 using just 37-40 MB of memory usage after receiving the Refresh but RFA.NET 8.0 use around 120 MB.
I understand that RFA.NET is .NET wrapper built on top of RFA C++ but I still not understand why it take up 120 MB when C++ use just around 40MB. While our application is currently working correctly, memory usage is always a concern for a high-performance application using RMDS, as it is likely to lead to more or longer garbage collection cycles.
Do you know what may cause the extra memory usage and is there any configuration or implementation to improve the memory foot print?
Best Answer
-
The behaviour seems to relate with internal implementation of RFA.NET Dictionary management which making unnecessary memory allocation for loading dictionary information. For general use case, the application just have one instance of dictionary object therefore I believe that the behavior should not cause any error.
Anyway latest version of RFA.NET 8.1.0.L1 has re-implement the dictionary management to enhance memory allocation for dictionary information. Below is the information from the RFA.NET 8.1.0.L1 README file.
[RFA-382] - CaseId 05044930 RFA.NET making unnecessary memory allocation for loading dictionary information
Please upgrade your RFA.NET to 8.1.0.L1 . I did a quick test and found the memory usage from StarterConsumer reduce from around 120MB to around 48-50 MB when testing the example with the same scenario.
0
Answers
-
I will upgrade to 8.1.0. Thanks,
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 685 Datastream
- 1.4K DSS
- 620 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 254 ETA
- 557 WebSocket API
- 38 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 276 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 661 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 193 TREP Infrastructure
- 229 TRKD
- 917 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛