URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4974
[ Назад ]

Исходное сообщение
"Как правильно оценить размер программы?"

Отправлено WintiX , 24-Дек-05 16:02 
Хочу провести сравнение по размеру программ для Linux и Windows причем в обоих системах используются разные библиотеки: Qt, GTK..
На самом деле два вопроса: 1.философский, 2.практический.

1. Размер программы в памяти не равен размеру занимаемому на диске. Кроме того, программы часто подгружают динамические библиотеки. Какие параметры будут более адекватно оценивать размер программы для пользователя?

2. Под вынь я нашел тулзу, которая показывает все загружаемые процессом dll-ки, так что я могу оценить как затраты оперативки так и потребляемое дисковое пространство. Под линухом опыта меньше, пока нашел только top, которая показывает общий объем потребленной памяти. Наверняка есть сто-то более подходящее?


Содержание

Сообщения в этом обсуждении
"Как правильно оценить размер программы?"
Отправлено DeadMustdie , 24-Дек-05 18:02 
>Хочу провести сравнение по размеру программ для Linux и Windows причем в
>обоих системах используются разные библиотеки: Qt, GTK..
>На самом деле два вопроса: 1.философский, 2.практический.
>
>1. Размер программы в памяти не равен размеру занимаемому на диске. Кроме
>того, программы часто подгружают динамические библиотеки. Какие параметры
>будут более адекватно оценивать размер программы для пользователя?

"Размер" программы есть величина совершенно абстрактрая и не поддающаяся
измерениям. Всяких параметров, имеющих отношение к "размеру", много,
и какой из них наиболее подходящий - зависит от цели оного "пользователя".

>2. Под вынь я нашел тулзу, которая показывает все загружаемые
>процессом dll-ки, так что я могу оценить как затраты оперативки
>так и потребляемое дисковое пространство.

Оценить тут можно размер исполняемых файлов (в том числе и библиотек)
и размер картированных из этих исполняемых файлов сегментов
(кода, данных). Первый показатель представляет определённый интерес,
поскольку определяет объём занятого на диске пространства, а вот
второй практически бесполезен, так имеет очень косвенное отношение
к объёму занятой программой оперативной памяти.

>Под линухом опыта меньше, пока нашел только top, которая
>показывает общий объем потребленной памяти. Наверняка есть сто-то
>более подходящее?

man proc

Только начинать всё равно нужно с определения цели: чего выяснить-то
нужно про программу? Сколько в ней кода? Сколько данных? Сколько памяти
она требует для запуска? Сколько места на диске занимает?


"Как правильно оценить размер программы?"
Отправлено WintiX , 24-Дек-05 18:11 
>"Размер" программы есть величина совершенно абстрактрая и не поддающаяся
>измерениям. Всяких параметров, имеющих отношение к "размеру", много,
>и какой из них наиболее подходящий - зависит от цели оного "пользователя".
Целей у пользователя может быть, видимо, несколько:
1. Если программа скачивается по сетке, надо экономить время и трафик.
2. Надо экономить место на диске.
3. Надо экономить место в памяти.


"Как правильно оценить размер программы?"
Отправлено WintiX , 24-Дек-05 18:19 
>
>man proc
>
За proc спасибо, если я правильно понял:
/usr/bin/pldd [идентификатор_процесса]



"Как правильно оценить размер программы?"
Отправлено WintiX , 24-Дек-05 21:01 
>>
>>man proc
>>
>За proc спасибо, если я правильно понял:
>/usr/bin/pldd [идентификатор_процесса]

понял все-таки неправильно.
правильно:
cat /proc/<PID>/maps


"Как правильно оценить размер программы?"
Отправлено DeadMustdie , 25-Дек-05 00:00 
>понял все-таки неправильно.
>правильно:
>cat /proc/<PID>/maps

Оно самое.

А для оценки потребности в ресурсах лучше всего провести реальные
измерения (например, измерить объём трафика, порождаемого при запуске
программы, и прирост использования памяти).