LINUX.ORG.RU

Как уменьшить потребление памяти

 ,


1

2

Как уменьшить потребление памяти программой на GTK? (Имеется в виду правки кода)

Имеются в виду не утечки, а штатное потребление слишком высоко.

★★

Последнее исправление: Athor (всего исправлений: 2)

Тему поменяй. Используется ли движок тем? Что для тебя слишком высоко?

anonymous
()
Ответ на: комментарий от post-factum

Однозначно не вариант. Незачем) Я не хочу половину Gtk переписывать на Qt) Вопрос именно в том, какую технику использовать для сокращения потребления памяти в приложении на GTK.

Athor ★★
() автор топика
Ответ на: комментарий от Athor

какую технику

Компьютерную.

Предлагаю задавать вопросы более конкретно, чтобы не было таких ответов.

post-factum ★★★★★
()

что за программа? что именно и сколько потребляет? какого результата (в цифрах) хочешь?

anonymous
()

Рабочий вариант это собрать свой пел3 без интроспекции, colord и прочего такого. Как ты ещё ужмёшь? Это гткпроблемы, найди виновных и перепиши их. Память под вполне конкретные вещи расходуется, найди что тебе не нужно и оптимизируй.

anonymous
()

Добавь в теги GTK иначе целевая аудитория может не увидеть и останутся в треде только qt-шные пиздаболы.

anonymous
()

А, ещё at-spi со всем остальным можно порезать безболезненно. И пульсаудио удали. Ну естественно видеодрайвера должны быть настроены корректно.

anonymous
()

Чё-то не вижу в треде списка аллокаций отсортированного по размеру. Гадать что-ли предлагаешь?

slovazap ★★★★★
()

Ну и самый рабочий вариант, отключи мультилиб вместе со всем вышеперечисленным. Больше ты ничего не сделаешь не исправляя приложение.

anonymous
()
Ответ на: комментарий от anonymous

Что? Он много памяти впустую жрёт и лагает постоянно, совершенно лишняя сущность. Ещё и ломается с некоторыми звуковухами. Дальше можем заняться памятью нужной ядру.

anonymous
()
Ответ на: комментарий от anonymous

что за программа? что именно и сколько потребляет? какого результата (в цифрах) хочешь?

Моя vala-panel. Результата хочу сравнимого с lxpanel на gtk3 (сейчас она ест значительно больше).

Athor ★★
() автор топика
Ответ на: комментарий от Athor

Моя vala-panel.

А тебе не кажется, что с такими пространной информацией, лучше всего узкие места программы может знать сам разработчик? Если ты не дашь никакой конкретики, то ты обречен на советы дебилов типа «Тему поменяй», «Переписать на Qt» или «пульсаудио удали»...

anonymous
()
Ответ на: комментарий от Athor

Та lxpanel написана на vala? Как насчёт посмотреть на что же конкретно ты просрал память? А темы вполне могут под соточку мб накинуть, так что это такое.

anonymous
()
Ответ на: комментарий от anonymous

А темы вполне могут под соточку мб накинуть

Ты напряги извилины, может поймешь, что GTK, темы, pulseaudio и т.п. это не сама программа, а библиотеки...

anonymous
()
Ответ на: комментарий от Athor

Моя vala-panel. Результата хочу сравнимого с lxpanel на gtk3

Сколько vala-panel потребляет? Сколько lxpanel?

anonymous
()
Ответ на: комментарий от anonymous

Та lxpanel написана на vala? Как насчёт посмотреть на что же конкретно ты просрал память? А темы вполне могут под соточку мб накинуть, так что это такое.

Я свою тоже почти всю на C переписал. Потому можно считать, что обе написаны на C. Тема Arc. Сколько потребляет lxpanel - вроде в районе 20мб. Моя же панель потребляет 30-40 мб с теми же апплетами.

Athor ★★
() автор топика
Ответ на: комментарий от Athor

Я свою тоже почти всю на C переписал.

Что это дало? Потребление памяти уменьшилось? Может еще что-то?

anonymous
()
Ответ на: комментарий от Athor

Так с чем она линкуется, ты уже выяснил? Нет, серьёзно, ты же можешь посмотреть кто и сколько на что аллоцировал.

anonymous
()
Ответ на: комментарий от anonymous

Так с чем она линкуется, ты уже выяснил? Нет, серьёзно, ты же можешь посмотреть кто и сколько на что аллоцировал.

Линкуется только с GTK, а аллоцирует оно в основном внутри (не в моем коде).

Что это дало? Потребление памяти уменьшилось? Может еще что-то?

Это дало стабильность кода (не приходится подстраиваться под новую версию Vala)

Athor ★★
() автор топика

установить windows xp

xmikex ★★★★
()
Ответ на: комментарий от RazrFalcon

Хорошая штука, но я валгриндом вроде уже прогонял. Ну и этим тоже попробую.

Athor ★★
() автор топика
Ответ на: комментарий от Athor

не приходится подстраиваться под новую версию Vala

А в чем заключалась эта подстройка? Что менялось в версиях Vala?

anonymous
()
Ответ на: комментарий от anonymous

VAPI меняется, бывает багованным,или в нем чего-то не хватает.

Athor ★★
() автор топика
Ответ на: комментарий от Athor

В том и вопрос, как исправить приложение.

Объявление висит.

BitSum ★★
()

Прежде чем оптимизировать что нибудь ненужное, надо сначала замерить что нибудь ненужное, а у нас профайлера нет.

pon4ik ★★★★★
()
Последнее исправление: pon4ik (всего исправлений: 1)

Конечно же лучше всего взять и сделать вдоль

slaykovsky ★★★
()

Возможно тебе нужна отложенная подгрузка ресурсов? Хотя это в общем а не GTK

cvv ★★★★★
()

FIX:

Как уменьшить потребление памяти программой на GTK? (Имеется в виду правки кода)

Имеются в виду не утечки, а штатное потребление слишком высоко.

тут 100500 вопросов - что есть штатное потребление, как измерено, что измерено, какой памяти, почему слишком высоко, критерий «высоты».

Про выбросить всё лишнее, типа метаданных для интроспекции и отладки выше сказали.

конкретно для vala - делаете hello-word и откатываете набор приёмов на нём. Может оказаться что достаточно поменять аллокатор или заставить текущий чаще делать unmap - убирать(возвращать в систему) уже неиспользуемую память.

Подчас проблемы с памятью надуманы - человек видит в stat что приклад сожрал много и начинает дёргаться, а там нет ничего страшного.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Подчас проблемы с памятью надуманы - человек видит в stat что приклад сожрал много и начинает дёргаться, а там нет ничего страшного.

Меня юзеры пинают, типа ест много. Да и самому обидно, что жрет больше, чем PCManFM, к примеру (на одной системе)

тут 100500 вопросов - что есть штатное потребление, как измерено, что измерено, какой памяти, почему слишком высоко, критерий «высоты»

RSS) Высоко - потому что больше PCManFM.

конкретно для vala - делаете hello-word и откатываете набор приёмов на нём. Может оказаться что достаточно поменять аллокатор или заставить текущий чаще делать unmap - убирать(возвращать в систему) уже неиспользуемую память.

У меня там уже C почти везде.

Про выбросить всё лишнее, типа метаданных для интроспекции и отладки выше сказали.

У меня не используется gobject-introspection и сборка Release

Athor ★★
() автор топика
Ответ на: комментарий от Athor

Меня юзеры пинают, типа ест много.

Скажите им, что следующая версия программы будет на яве. Они и заткнутся.

ugoday ★★★★★
()
Ответ на: комментарий от Athor

Переписать с нуля, изначально закладывая в архитектуру и все подходы к реализации минимальное потребление памяти. Что тут может быть непонятно.

anonymous
()
Ответ на: комментарий от anonymous

Сам gtk и все прочие зависимости, имеетсяя в виду.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.