Я хочу сравнить потребление ОЗУ для реализации Python против C ++ написанного мной кода. По сути, я ищу такую команду, как:
<record ram> python3 main.py
и
<record this runtime ram> g++ main.cpp
. Можно ли записывать ОЗУ для конкретной задачи, подобной этой, в Linux Ubuntu?
Спасибо за ваше время.
Вы можете прочитать текстовый файл / prof / self / stat
после того, как будет выполнено все распределение памяти. Его поля описаны здесь . В Linux мы имеем в виду два типа памяти:
Из файла stat
прочитайте vsize
и ] Новости
. Прочитав это, вы можете найти размер в kb
, используя следующее в C ++.
#include <unistd.h>
...
long page_size_kb = sysconf(_SC_PAGE_SIZE) / 1024; // in case x86-64 is configured to use 2MB pages
vm_usage = vsize / 1024.0;
resident_set = rss * page_size_kb;
В Python вы можете использовать os.sysconf ("SC_PAGE_SIZE")
, чтобы получить PAGE_SIZE
и выполните эквивалентные вычисления.
Вы также можете изучить Valgrind для этой цели.