Аарон Сейго (Aaron Seigo), основной разработчик KDE-оболочки Plasma, сообщил (http://aseigo.blogspot.com/2011/07/performance.html) о проведении ряда оптимизаций, связанных с уменьшением потребления памяти и ускорением выполнения операций с файлами. В процессе работы Plasma используется большое количество файлов с диска, например, при чтении QML-стилей, использовании плазмоидов или загрузке изображений при отображении визуальных тем.
В рамках проекта libplasma2 Аарон решил реализовать поддержку кэша обращений к файловой системе. Дополнительно были переработаны классы Package с целью экономии памяти, благодаря использованию структур меньшего размера и минимизации дублирования данных за счет организации совместного использования несколькими объектами. Результат оказался впечатляющим: время выполнения 100 тыс. операций копирования и удаления сократилось с 2700мс до 37мс, а 100 тыс. операций копирования, проверки и удаления - с 3900мс до 40мс. К сожалению внесенные изменения основаны н...URL: http://aseigo.blogspot.com/2011/07/performance.html
Новость: http://www.opennet.me/opennews/art.shtml?num=31289
Не фига не понял, что стало работать быстрее?
Плазма! //Капитанp.s. интересно, что мешало уменьшать количество файловых операций? :)
По-моему, и так быстро работала.
И когда это в основной ветке будет?В KDE5?
> Ценой кэширования является незначительное повешения потребления памяти ...Знаем мы их "незначительное" ... уже в 2 гига kde не влазит ((((
Откуда такая цифра?
За полтора года активного использования KDE более 1.5Гб памяти не съедало, причем в т.ч. и сторонний софт.
Поставь последнюю(!) версию кед и уведешь :)
> Поставь последнюю(!) версию кед и уведешь :)Кого уведет? Куда? И зачем?!
Плазму. В плазму. За плазмой.
4.6.95
900Мб, аптайм полдня, браузер+амарок+мелкие проги.
Так что не надо.
> 4.6.95
> 900Мб, аптайм полдня, браузер+амарок+мелкие проги.
> Так что не надо.4.6.4, только что включил.
по vsize:
ps ax -o pid,%mem,%cpu,sz,vsz,rss,comm | sort -k5 -n | tail -10
3370 1.0 0.0 137649 550596 42416 kopete
3317 0.6 0.0 145872 583488 25640 kmix
3212 0.6 0.0 147269 589076 25568 nepomukservices
3693 1.5 0.0 149970 599880 62016 konqueror
3376 1.1 0.4 154418 617672 47712 ktorrent
3013 0.8 0.0 162729 650916 36464 kded4
4749 2.9 2.3 181142 724568 119600 konqueror
3136 0.7 0.0 189110 756440 31264 knotify4
3140 1.8 1.8 244395 977580 76552 plasma-desktop
3237 1.2 0.0 254711 1018844 49496 krunner
по rss:
ps ax -o pid,%mem,%cpu,sz,vsz,rss,comm | sort -k6 -n | tail -10
3013 0.8 0.0 162729 650916 36464 kded4
3131 0.9 0.0 111287 445148 39904 kwin
1573 0.9 4.1 32691 130764 40556 Xorg
3370 1.0 0.0 137649 550596 42416 kopete
3376 1.1 0.4 154418 617672 47712 ktorrent
3237 1.2 0.0 254711 1018844 49496 krunner
3693 1.5 0.0 149970 599880 62016 konqueror
3140 1.8 1.8 244395 977580 76552 plasma-desktop
4749 2.9 2.2 181142 724568 119600 konqueror
3221 3.8 0.0 63722 254888 155168 virtuoso-tмного это или мало? Думаю — много, например virtuoso-t это nepomuk, кстати очень показательно, мои три метки на четырёх файлах хранятся в отдельной СУБД которая чемпион по поеданию RSS памяти _среди всех запущенных программ_ :) Ещё радует победитель по vsize — krunner, запросивший гигабайт виртуального адресного пространства, видимо чтобы 2+2 считать в строке запуска программ...
вам, очевидно, сюды: http://www.opennet.me/opennews/art.shtml?num=31145
там тоже кэп засветился
> вам, очевидно, сюдыЗачем?
> мои три метки на четырёх файлахВы таки уверены, что у нас не натравлен на всю homedir индексировать? :)
Загляните в настройки: Параметры Системы -> Поиск по меткам и содержимому -> (дальше можно походить по вкладкам). В частности, Поисковые запросы -> Выбрать индексируемые папки. Заранее пожалуйста, кланяюсь... :)
> Вы таки уверены, что у нас не натравлен на всю homedir индексировать? :)Strigi я отключил, там галочка есть. Хотя судя по тому что галочка в запуске KDE служб (Параметры системы-Запуск и завершение-Управление службами-Службы загружаемые при запуске) не отключает запуск служб возможно галочка отключения Strigi не отключает Strigi?
Не знаю. Убирал/ставил галочку там же: strigi пропадал/появлялся в процессах. :)
лжец
291 занято (вместе с emerge)
учись готовить
хотя...убунта - всё ясно
да - аптайм овер 2 дня
Делитесь рецептом пожалуйста. Где чего крутить?
крутить gentoo
> крутить gentooА почему я должен крутить именно генту? Я вовсе не желаю её крутить. Я желаю крутить Сюзанку или тётку Федору и иметь быстрые, насколько это возможно, Кеды.
Дайте мне советы как сделать Кеды под этими двумя быстрыми. Не знаете? Вот то то и оно.
> лжец
> 291 занято (вместе с emerge)
> учись готовить
> хотя...убунта - всё ясно
> да - аптайм овер 2 дняИскренне рад за вас. :)
Но я не делал каких либо "оптимизаций", ввиду отключения всяких свистоперделок\служб\etc, вполне возможно, что был запущен "офф.топик"под виртуалкой и прочим софтом. Сегодня утром посмотрел на только что загруженную систему. Потребление памяти ~700Мб. На борту Kubuntu 11.04 AMD64. Рискну предположить, что сами KDE откушали еще меньше, т.к. запускаются с ними много чего. :)
Все верно, все уходило в свап.
Swap крайне редко используется, т.к. swappines=1
Откуда такая цифра? Что вы туда пихаете? У меня на 4.7 стабильно 300 метров.
> Откуда такая цифра? Что вы туда пихаете? У меня на 4.7 стабильно
> 300 метров.Вы видимо кроме kwin ничего больше из KDE не используете.
Mem: 211M Active, 56M Inact, 94M Wired, 16M Cache, 59M Buf, 108M Free
Swap: 1503M Total, 387M Used, 1116M Free, 25% Inuse
FreeBSD 8.1
KDE 4.6.5
На мамке 512МБ
ЧЯДНТ?
При этом, что компилится libreOffice
{9} user@host:~ $ _mem=0; for i in `ps awwux|grep user|awk -- '{print $6;}'`; do _mem=$(( $_mem + $i )); done; echo $_mem
1023400
{10} user@host:~ $FreeBSD v8.2+KDE/ports.
> QML-стилей
> кэша обращенийНадо исправлять не следствие, а проблему. Причина тормозов в совершенно бесполезном ничем не обоснованном натыкании недотехнологий типа js и скриптованного интерфейса куда это нахрен не нужно.
гном-шелл не тормозит (js+css). странно. может у этого аарона сейго радиус кривизны рук больше чем у гномеров?
Это все KDEPIM с MySql и прочим не отключаемым крайне необходимым функционалом.
возможно-возможно. но:>3900мс до 40мс
>6 секунд до 1/4 сексколько лет существует кде4 и технология плазма? когда плазма действительно перестала падать? в 4.2.х вроде?
А когда гномощель перестанет падать и начнёт работать?
арч. из 3.0.0 упал на ровном месте 2 раза за месяц (!). а сколько раз падали кеды веток 4.0.х - 4.2.х за _день_? :) из 3.0.2 - ни разу за все использование не упал, хотя там у меня 6 плагинов + самописные вставки в разных местах (aka собственный говнокод). плазма же "не падала" даже с плазмоидами которые шли в комплекте.
> Это все KDEPIM с MySql и прочим не отключаемым крайне необходимым функционалом.что есть "не отключаемым"?
мускул отключается на раз, например
Это все легко отключается командой chmod -x например. Но кеды по-прежнему не летают. Холодный старт дельфина на быстром декстопе, например, около 4-5 сек, хотя должен происходить мгновенно. Запилили бы уже прелоад тогда прямо в кеды.
Менюшки тоже работают рывками, потребление процессора при этом скачет. На ноут уже впилил xfce, так и не дождавшись кед 4,7.
В этой новости ожидал увидеть что-то вроде "в релизе 4,7 кеды работают в 10 раз быстрее, основные проблемы производительности устранены, ждем обновления 27-го числа"
> гном-шелл не тормозит (js+css).Еще бы он тормозил, там все кнопки кроме закрытия окна убрали.
Предлагаю в гном 4 убрать также иксы, использовать голый фреймбуфер и в нем нарисовать 3 кнопки: ребут, шатдаун, донейт то гноум. Получится чудный интерфейс, и ни капельки не тормозной, и разработчикам профит, и освоить его сможет даже полный идиот :)
ознакомься с тех.минимумом. "кнопка закрытия" - это бинарный муттер. и только по секрету тебе: в гноме можно добавить кнопки максимизации и минимизации и даже, о боже, отрубить декорации для распахнутых на весь дисплей окон. сюрприз правда:)а весь интерфейс гном-шелла можно переписать и сразу запускать. снова сюрприз: без перекомпиляции)
Да, с открытыми исходниками многое можно...
в гноме можно сделать таскбар в три ряда? и трей в два? давно хочу с кед спрыгнуть да не знаю куда.
я понимаю. троллинг и все такое. НО. в гном3 такая метафора как таскбар - отсутсвует, а трей, как таковой, разделён на 2 части - сам трей и месседжи внизу. гномеры где-то писали, почему они уменьшают количество иконок в трее и вообще хотят от него избавиться.>в гноме можно сделать таскбар в три ряда? и трей в два?
да, можно:) вам, наверно, покажется, что я скажу дикие вещи, но весь этот функционал можете дописать вы сами. и с js+css это очень просто. к примеру, я дописал для дэша в меню пункт "Quit $PROGNAME", теперь мне удобно закрывать окна на любых раб столах не переключаясь. реализация заняла всего лишь 3 строки. js, кстати, я не знаю, но хорошо написанный код ГШ очень помог разобраться:) еще: есть такой ектеншн, window-navigator для выбора окна по Alt+№, немного переписав его я получил возможность по Shift +№ закрывать окна:) мне сложно представить, как похожее я смог бы написать для квин или компиза без вкуривания их кода и бесконечных компеляций.
п.с. проскакивал екстеншн с таскбаром внизу для гномшелла, правда, там в 1 линию. думаю переписать на 2-n линий будет не сложно;)
> дописал
> переписал
> исправил
> доделалНу вот все и встало на свои места. Плазма уже 200 лет не падает, а гномощель дописывать и переписывать используя очень простые js+css. Это эпический вин.
я не исправлял ошибки в коде, а просто дописал необходимый функционал. разницу фирштейн? дефолтный гном шелл и не падает. в отличии от плазмы которая "не падала".
> я не исправлял ошибки в коде, а просто дописал необходимый функционал. разницу
> фирштейн? дефолтный гном шелл и не падает. в отличии от плазмы
> которая "не падала".Агамс, видали мы этот гномошел. Просто ржут люди над ним...
> Ну вот все и встало на свои места. Плазма уже 200 лет
> не падает, а гномощель дописывать и переписывать используя очень простые js+css.
> Это эпический вин.плазма тоже и падает и глючит. рестартовать кеды приходится гораздо чаще чем ядро
Не пи***ть! Кеды запущены и не перезагружались:xxxxx@xxxxx:~$ uptime
00:11:18 up 49 days, 7:47, 5 users, load average: 0.01, 0.02, 0.00
xxxxx@xxxxx:~$ЗЫ пять юзеров это я сижу с vnc и ssh в несколько окон на отладке.
> Не пи***ть! Кеды запущены и не перезагружались:верю, раньше у самого так и было. я сейчас после после слиипа рандомные глюки вылазят. а если композит включить то вообще беда. 3.5 мне нравились больше в плане стабилити
> я понимаю. троллинг и все такое. НО. в гном3 такая метафора как
> таскбар - отсутсвует, а трей, как таковой, разделён на 2 части
> - сам трей и месседжи внизу. гномеры где-то писали, почему они
> уменьшают количество иконок в трее и вообще хотят от него избавиться.нет, не троллинг. меня реально достали глюки кде. пересмотрел неделю назад другие оконные менеджеры (включая xmonad). только гнома не смотрел, потому как уже видел его пару версий назад.
>>в гноме можно сделать таскбар в три ряда? и трей в два?
> да, можно:) вам, наверно, покажется, что я скажу дикие вещи, но весь
> этот функционал можете дописать вы сами. и с js+css это очень
> просто. к примеру, я дописал для дэша в меню пункт "Quit
> $PROGNAME", теперь мне удобно закрывать окна на любых раб столах не
> переключаясь. реализация заняла всего лишь 3 строки. js, кстати, я не
> знаю, но хорошо написанный код ГШ очень помог разобраться:)в том то и дело что совершенно не хочется осваивать js+css. хочется простого человеческого счастья :) тогда уж можно хаскель освоить - все ж xmonad куда интереснее гномов с кедами
я подумал троллишь:)ну тогда можешь посмотреть в сторону опен/флюкс бокс. и как панели - lxpanel из lxde. эта панель позволяет кнопки таскбара и иконок из трея располагать в столько рядов во сколько захочешь. в общем, эта наиболее юзерфлрендли панель из теперь существующихся(оставшихся в живых;) )
можешь сделать какой-нибудь гибрид из lxpanel+wm+kde. плазму и квин думаю надо будет полностью выкинуть:)
>xmonad
не знаю почему, но он оставил у меня впечатление "деревянного":( в гном-шелле мне копаться приятней, может просто потому, что я люблю гном%)
Или попробуй razor-qt ( https://sourceforge.net/apps/mediawiki/razor-qt/index.php ).
>может у этого аарона сейго радиус кривизны рук больше чем у гномеров?Может и так. Только чем больше радиус кривизны, тем прямее руки (кривизна - это что-то типа 1/R).
Как раз похожую тему читаю в паттернах проектирования. И вам советую, вместо извливания на формуах.
> Как раз похожую тему читаю в паттернах проектирования. И вам советую, вместо
> извливания на формуах.Практика показала что обычно программы от тех кто читает умные книжки и щеголяет умными словечками почему-то оставляют желать много лучшего. Поэтому не забудьте заодно еще и сообщить нам названия ваших программ, чтобы не тратить время на отсев барахла.
зато программы от тех, которые книжек не читают просто верх совершенства, ага ;)
> зато программы от тех, которые книжек не читают просто верх совершенства, ага
> ;)Ксо-жалению, это уже не так далеко от правды.
Эффективные программы все чаще получаются у тех, кто работает быстро на результат, восновном что бы продать. У людей, которые читают умные книжки, все чаще выходит академичный красивый код, выходит медленно, им больше по нраву программирование ради красивого книжного программирования. А посоны чпокают на C# по рыхлому программки и все довольны результатом.
Безусловно такая тенденция есть.
тех, кого ты защищаешь называются быдлокодерами. я смотрю у нас тут парниши из мелкософт понабегали, раз своих защищают
>> meego
>> Ксо-жалению, это уже не так далеко от правды.
> тех, кого ты защищаешь
> парниши из мелкософтА туда ли ты попал? Кого же он защищал? Сказано же, к сожалению. Микрософтофобия? Удел слабых. Микрософтоненависть - вот удел сильных.
Практика показывает, что недостаточно читать (умные) книги, неплохо бы применять полученные знания на практике. При этом одни приёмы и технологии укрепляют свои позиции, другие отсеиваются. Цитата в тему: http://bash.org.ru/quote/402989
> Как раз похожую тему читаю в паттернах проектирования.Как называется? «Бэкпортирование не нужно», «Как сломать совместимость за минимум изменений» или «Нет поддержки — нет проблем»? :)
Все эти проблемы описаны в другой: "Рефакторинг" Фаулера. Но это всё очень "объектные" книги. Под тему в KDE подходит, там много объектного кода, вроде. Тут много злопыхателей на тему объектно-ориентированного программирования. Для процедурного программирования там есть полезные вещи/приёмы, но гораздо меньше, имхо. Хотя, полезная информация, пожалуй, всегда найдётся. Даже для приверженцев процедурного программирования.
изобрели prelink для KDE?
Гномоводы, Вы что такие злорадные? Порадуйтесь с нами. KDE уже на планшетах летает. В ОЗУ занимает всего 400Мб (уметь только нужно...) И KWin прекрасно работает с открытыми дровами.
> И KWin прекрасно работает с открытыми дровами.Вы не поверите... в 4.4 — работал идеально для меня, в 4.6 всё сломали. Безумное мерцание, потеря отрисовки (когда кусок окна не перерисовывается), потеря фона и т.д. ATI свободные дрова. Пришлось отключить.
> Гномоводы, Вы что такие злорадные? Порадуйтесь с нами. KDE уже на планшетах
> летает. В ОЗУ занимает всего 400Мб (уметь только нужно...) И KWin
> прекрасно работает с открытыми дровами.нашёл чем гордится)
выше 291 - это кеды в компизе + хромиум + емерж
думай, повар :3
> ...уметь только нужно...Вот ещё один умелец. Рецепты давайте. А то только пустые заявления слышно.
>> ...уметь только нужно...
> Вот ещё один умелец. Рецепты давайте. А то только пустые заявления слышно.использовать нормальный дистр
выпиливать лишнее
использовать прелинк
...
профит
всё просто
Ну, да. Как обычно ничего содержательного. Ни одного совета который можно проверить.<ехидно_злой_сарказм>
Тогда слушайте сюда... У меня КДЕ 4.6.5 ест 16 Мб памяти и при этом летает !
Хотите знать рецепт... а он прост:
использовать нормальный дистр
выпиливать лишнее
использовать прелинк
...
профит</ехидно_злой_сарказм>
> Ну, да. Как обычно ничего содержательного. Ни одного совета который можно проверить.Да чего там сложного? На генте KDE делается существенно легче путем отключения семантического поиска (USE-флаг "-semantic-desktop") и отключением зависимости на mysql (USE-флаг "-mysql"). После чего KDE ощутимо работает быстрее.
>В ОЗУ занимает всего 400Мба ведь когда-то кде не было прожорливым:) а теперь "всего лишь" 400 мб, и при этом нужно кучу отломать.
вот это круто . теперь kde работает быстрее ! но всеравно не жалею что спрыгнул с e17 на fluxbox )
> сообщил о проведении ряда оптимизаций, связанных с уменьшением потребления памятии после всего
> Ценой кэширования является незначительное повышения потребления памяти (несколько килобайт).
>> сообщил о проведении ряда оптимизаций, связанных с уменьшением потребления памяти
> и после всего
>> Ценой кэширования является незначительное повышения потребления памяти (несколько килобайт).Не придирайтесь, сэкономили 1 Мб истратили 64К всё равно экономия на лицо, и скорость работы выросла. Во всяком случае хочется верить, что так оно и есть :-)
скорость работы возросла при добавлении виджетов на панель или рабочий стол во время загрузки или непосредственно во время работы. И заметить это можно при добавлении виджетов 100-1000 одновременно. Понятно, что никто добавлять одновременно виджетов 100 не будет, да и не может, зато всем будет казатся, что скорость возросла
они бы лучше нормальную поддержку SVG сделали, хотя бы версии 1.0. О версии 1.1 и вовсе молчу. А то видите ли, им эффект размытия нужен, и вместе с ним GL-ES. Неужели такого эффекта в SVG нет? Конечно же есть. Вот только plasma его не понимает (или что там отвечает за отрисовку svg-виджетов?)
а это не тот крендель, кто с "удивлением" увидал недавно, что память на десктопе у него кончилась при запуске старкрафта? ;)
Нет, это ведущий разработчик KDE, бывший сотрудник TrollTech, соавтор плазмы
У меня арч. KDE 4.6.5
Nepomuk выключен в systemsettings.
Akonadi и MySQL выпилены с игнорированием зависимостей -- pacman -Rsdd akonadi
Akonadi добавлен в /etc/pacman.conf в секцию IgnorePkg.
После старта системы (перед запуском всяких браузеров), занятая память - 310 MB.
DAEMONS=(syslog-ng network netfs crond sshd ntpd alsa gpm acpid dbus cupsd samba bluetooth)
Вот вам и рецепт.
Как же вы без Аконади работаете??
Это был сарказм?
Работаю хорошо. KDEPIM не пользуюсь, он мне не нужен, использую Thunderbird+Lightning. Подозреваю, что KDEPIM без аконади не заработает, но это не мои проблемы.
>QML-стилейТык они сразу бы написали, что вначале тормознули своими скриптами, а потом ускорили. А в итоге слегка тормознутее вышла, чем в KDE 4.5(?) Ну вобщем где там QML появился? В Qt 4.7?
Ставте 3ware рейд с 512МБ памяти и бетери бакап юнит и будет уже сейчас все хорошо работать.
> Ставте 3ware рейд с 512МБ памяти и бетери бакап юнит и будет
> уже сейчас все хорошо работать.Ты еще IBM'ским мейнфрейм под кеды посоветуй...