Точное профилирование максимального использования памяти во время выполнения функции - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть программа (еще не реализованная), которая выполняет функцию f несколько раз с различными параметрами и которая должна при каждом выполнении измерять максимальное потребление памяти при вызове f.Т.е. я хочу знать, сколько памяти потребляется до вызова f, максимальная память при f и послезвонит f.Измеренная память должна включать в себя и стек и кучу.

Большая часть информации, которую я смог найти, касалась профилирования памяти целых программ (что иногда включает в себя возможность увидеть использование отдельных функций) спомощь внешних программ, таких как valgrind (массив).Это не то, что я ищу.Мне нужно иметь возможность измерять использование памяти изнутри запущенной программы и особенно делать это несколько раз.

Я нашел функцию tracemalloc.get_traced_memory для Python, которая, кажется, способнасделать работу.Однако я не уверен, является ли Python правильным языком программирования, и я бы предпочел выбрать типизированный скомпилированный язык.Из типизированных скомпилированных языков мне комфортно с C и Go, но в последнее время мне нравилось глубже смотреть на Rust.Предлагает ли какой-либо из этих языков простой способ сделать то, что я ищу?

Поскольку я не могу найти что-то конкретное для своих нужд, я надеюсь, что массовый интеллект StackOverflow поможет!

...