我想知道是否有一種有效的方法來測量特定C數據結構的實際內存消耗。你如何評估內存消耗?
目標是根據在這些數據結構上進行特定操作後內存使用情況如何變化來制定基準。
我不想要一種方法來計算正在使用的對象的數量;我確實想知道壓力下的對象的內存使用量有多大。
有沒有一種標準的方式來做到這一點,無論是在C代碼,還是從外部? (一些相當於time
(1)實用程序將是一個開始)。
顯然,我可以追蹤每一個指針,並做所有sizeof
s的總和。如果這是唯一的方法,請告訴我。我想知道是否有更簡單的方法。或者也許一個圖書館爲我做。
我通過用perl腳本解析mtrace的輸出來做了這樣的跟蹤。 mtrace是glibc的內建malloc示蹤器;它可以通過預加載一個小的.so庫來激活:http://stackoverflow.com/q/2593284/196561 – osgx
這個主題應該是有幫助的:[基準測試使用的測試交流和分配器] [ 1] [1]:http://stackoverflow.com/questions/2560114/benchmarks-used-to-test-ac-and-c-allocator – malinois
「我不尋求方法來計算的使用的對象的數量「如果你知道對象的數量和它們的大小,你就會知道內存消耗,非常明顯你是什麼意思? –