Xuhpclab / DrCCTProf

DrCCTProf is a fine-grained call path profiling framework for binaries running on ARM and X86 architectures.
MIT License
117 stars 37 forks source link

drcctlib_memory_footprint client implemented #31

Closed vivekrnv closed 3 years ago

vivekrnv commented 4 years ago

Computes Unique Memory Bytes accessed per function.

Non-overlapping Interval Trees were used instead of plain lists to store the ranges of locations and thus is time & space-efficient version for binaries particularly those which deal with contiguous memory structures like arrays.

xl10 commented 4 years ago

Vivek,

Thank you for this pull request. I'm happy to see your efforts in this client. I appreciate your interval approach. You can further improve your interval data structure with a stepping field to represent memory addresses such as 0x2, 0x4, 0x6, .... Make sense?

To make the code of high quality for merging to the repo, you need to improve your code to handle multithreading at least. Are you willing to implement the multithreading support in your client? Comparing the footprint of different threads cane very interesting and could lead to a paper. Another possible extension is to have HPCToolkit format available in this client.

vivekrnv commented 4 years ago

Yes, Thank You. Will implement those features (multi-threading & HPC fmt) probably by next weekend.

Not exactly sure about this "stepping field to represent memory addresses such as 0x2, 0x4, 0x6". Can you elaborate?