Excessive memory usage when use rmtestBuffer.apply()

hello:

I found my memory useage increase quickly from 1% to 27% after I decode HKSE brokers use "rmtestBuffer.apply()"。


I develop with EMA C++ sdk 1.3.1;

when I decode HKSE brokers with RIC such as "0874bk.HKd", the num of RIC I requested is 14000+

and use "rmtestBuffer.apply()" to decode the updateMsg refer to "310MarketPriceRmtes";

my memory usage increase quickly.

memory usage do not decode brokers: 1%

memory usage do decode brokers: 27%

the detail info as "https://community.developers.refinitiv.com/questions/47273/ema-c-get-illegible-contents-in-updatemsg-of-broke.html"


Best Answer

  • Jirapongse
    Jirapongse admin
    Answer ✓

    @luxiangyuan

    I think it is expected behavior when having a lot of thomsonreuters::ema::access::RmtesBuffer objects used to cache the RMTES strings.

    0874bk.HKd is a page record which contains "ROW80_1" to "ROW80_13" fields which require RmtesBuffer to store the RMTES strings.

    image

    If you have a lot of page record RICs in 14000+ subscribed RICs, the application will require more memory in order to cache the strings.