Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Большой расход памяти 
:(
    Опции темы
admsasha
Дата 28.9.2007, 04:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: нет
Всего: 6



Имеется небольшой код

Код

#include<iostream>
int main(){
   sleep(9999);
   return 0;
}

собираю
Код

g++ proba.cpp -o proba


запускаю и смотрю расход
Код

grep Vm /proc/28096/status
VmSize:     2268 kB
VmLck:         0 kB
VmRSS:       696 kB
VmData:       40 kB
VmStk:         8 kB
VmExe:         4 kB
VmLib:      2168 kB



т.е. он занимает аж 2Mb ??, почему так и как можно оптимизировать ?
PM MAIL WWW ICQ Jabber   Вверх
Lazin
Дата 28.9.2007, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(admsasha @  28.9.2007,  04:24 Найти цитируемый пост)
VmLib:      2168 kB

вот ответ на твой вопрос

PM MAIL Skype GTalk   Вверх
admsasha
Дата 28.9.2007, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: нет
Всего: 6



Цитата(Lazin @  28.9.2007,  14:42 Найти цитируемый пост)
Цитата(admsasha @  28.9.2007,  04:24 )
VmLib:      2168 kB
вот ответ на твой вопрос


т.е. меньше 2Mb программу на C++ написать невозможно ?
PM MAIL WWW ICQ Jabber   Вверх
ama_kid
Дата 28.9.2007, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 2
Всего: 95



Цитата(admsasha @  28.9.2007,  08:23 Найти цитируемый пост)
т.е. меньше 2Mb программу на C++ написать невозможно ? 
С использованием такой толстой библиотеки - невозможно...



--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
MAKCim
Дата 28.9.2007, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



admsasha, 
фактически процесс использует 52K физической памяти
код всех библиотек лишь отображается на виртуальное адресное пространство (физические страницы по-умолчанию для кода библиотек являются разделяемыми и копируются только при изменении режима доступа к ним (например установка флагов, разрешающих запись))
Цитата(admsasha @  28.9.2007,  08:23 Найти цитируемый пост)
т.е. меньше 2Mb программу на C++ написать невозможно ? 

не используй библиотек


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
admsasha
Дата 28.9.2007, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: нет
Всего: 6



Цитата(MAKCim @  28.9.2007,  15:35 Найти цитируемый пост)
не используй библиотек 

например, как можно написать, тоже самое, не используя библиотек ? без asm конечно )
PM MAIL WWW ICQ Jabber   Вверх
comcon1
Дата 28.9.2007, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



а если подключить сишные stdlib какие-нить. Они поменьше жрут??


--------------------
PM MAIL   Вверх
akizelokro
Дата 28.9.2007, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Пустая прога (.com) под ДОС в районе от 4 до 6 кил в зависимости от компилятора. Zortech C++ выдавал минимум, в районе 4 с копейками кил


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
MAKCim
Дата 28.9.2007, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(admsasha @  28.9.2007,  08:46 Найти цитируемый пост)
например, как можно написать, тоже самое, не используя библиотек ? без asm конечно ) 

ОС я так понял Linux?
можно не использовать стандартную библиотеку
а напрямую использовать системные вызовы (но совсем без ассемблера не обойтись)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
xvr
Дата 28.9.2007, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(admsasha @ 28.9.2007,  08:23)
Цитата(Lazin @  28.9.2007,  14:42 Найти цитируемый пост)
Цитата(admsasha @  28.9.2007,  04:24 )
VmLib:      2168 kB
вот ответ на твой вопрос


т.е. меньше 2Mb программу на C++ написать невозможно ?

Можно, слинкуй статически (опция -static), исполняемый файл будет больше, занимать виртуальной памяти будет меньше.

Оригинал (машина Itanium)
Файл - 12K
VmSize:     5520 kB
VmExe:         5 kB
VmLib:      4875 kB

Статическая версия
Файл - 2.3M
VmSize:     2352 kB
VmExe:      1993 kB
VmLib:         7 kB

PM MAIL   Вверх
bsa
Дата 29.9.2007, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Если очень нужна маленькая программа, то можно собрать с помощью dietlibc или аналога.
PM   Вверх
takedo
Дата 3.10.2007, 05:53 (ссылка)   | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: 1
Всего: 3



да не парьтесь, 2 мегабайта это 0,1% от 2 гигабайт. Кому это нужно сейчас, где актуально?


--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
akizelokro
Дата 3.10.2007, 07:13 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



 smile (рефреном из другой темы) Я последнее время удивляюсь: железо постоянно "разгоняется", а программы работают все медленней и медленней  smile 


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
bsa
Дата 3.10.2007, 13:18 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(akizelokro @ 3.10.2007,  07:13)
smile (рефреном из другой темы) Я последнее время удивляюсь: железо постоянно "разгоняется", а программы работают все медленней и медленней  smile

Конечно. Ведь чем дальше, тем больше программы пишутся для программистов, а не для компов.  smile 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3614 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.