Разработчики Ubuntu сделали важное открытие: оказывается, существенного ускорения загрузки и последующей работы приложений GNOME можно достичь особым образом отформатировав конфигурационные XML-файлы, удалив оттуде все лишние пробелы и переводы строк.
Скрипты для оптимизации Rhythmbox, Evolution, Open Office и gconf прилагаются.
> существенного ускорения загрузки и последующей работы приложений GNOME можно достичь особым образом отформатировав конфигурационные XML-файлы, удалив оттуде все лишние пробелы и переводы строк.
>Хы! Гном тормоз! Доигрались с XML! Чем простой plaintext не угодил? Захотели реестра как в венде? >А если серьезно - зачем конфиги в XML? Оттуда и легендарные тормоза идут ИМХО.
Ну наверное они за тем в xml, что парсер xml'а уже есть в системе, а вот писать свою функцию парсинга своих конфигов - лишний геморой, если не учесть того факта, что xml древоидальная структура. Тормоза в гноме наверное не столько из-за конфигов.
>Разработчики Ubuntu сделали важное открытие: оказывается, существенного ускорения загрузки и последующей работы приложений...
Так гном врое только при загрузке конфиги считывает? Не понимаю как это влияет на последующую работу. Это только венда делает по несколько десятков обращений к реестру в секунду при простое.
Если тормоза из-за лишних пробелов и переводов строк (а в XML --- это незначащие символы и просто напросто выкидываются), то с парсером у ребят проблемы, недеццкие причем...
... Интересно все парсеры XML на С так галимо сделаны... Цензурных слов трудно подобрать...
эти так называемые тормоза - просто время, потерянное на пропуск whitespaces. и специфики C тут никакой нет. когда приложение не занимается активной обработкой xml, а просто скажем ищет в нем чего-то - имеем практически линейную зависимость времени чтения от размера файла. а выкидывание пробелов во многих xml-файлах уменьшает их вдвое, а то и больше...
На самом деле я _был_ уверен что XML конфиг считывается и парсится 1 раз, при старте приложения, потом в памяти держится DOM структура, где понятно никаких пробелов лишних нет.
И имменения и повторное чтение происходит понятно в памяти.
Уж сколько раз твердили миру - аккуратно надо все делать. Не плоди переводов строки и тому подобного. С чего начинали к тому и пришли.
Начинать надо с простого - не разводить бардак при написании тех же конфигов.
Кстати, конфиги ГНОМА настолько разрослись, что их форматирование уже может заметно сказываться на производительности?
Понемногу делаем из xml бинарный файл? Адепты xml очень любили рассказывать о том, что формат сей легко читается и редактируется человеком. Ню-ню.
И второе. Если устранение пробелов существенно увеличивает скорость парсинга, то, пилять, херовый тот парсинг. Как, впрочем, и всё, что смогло высрать поколение пепси.
[quote]
Optimize different GNOME applications to make it more faster and responsive.
XML Optimization is a set of method that reformat the XML metadata for use with XML stream. The process is used in websites to minimize network bandwidth consumption and increase the memory space for the applications who store them locally. XML metadata is used by modern applications like OpenOffice.org, GNOME, Evolution, Rhythmbox, GDM, etc., and is used in SVG graphic rendering. By Optimizing the XML metadata that those applications use, the application who parse them will require less memory usage, and less time parsing, thus improving speed and responsiveness.
[/quote]
Бвахаха, так и вижу Тузе^Копчика без ног, с одной рукой и одним пальцем, чтобы флеймить на лоре и писать на qt, и здоровенным отпечатком босой ноги на всю спину с подписью geek.
OpenOffice.org alone contains 847 XML Metadata, and a fresh install Ubuntu system contains thousands of XML files. XML metadata plays a big role in today's applications. and optimization for those XML files for improved user experience is not yet being used.
Benchmarks
No benchmark data had yet been produce, I would like to ask for community members for help.
Outstanding issues
Since the XML files are compacted, human readability of those metadata will be affected. We should check if the gain in performance makes up the loss in human readability.
------------------------------
Я думаю на вопрос: "Почему КДЕ лучше гнома для пользователей"(хотя я бы поспорил), ответ очень прост. Туда переползли виндовс-юзеры с их привычкой в одной кнопочке аля Пуск получать меню на пол монитора.
> Разработчики Ubuntu сделали важное открытие: оказывается, существенного ускорения загрузки и последующей работы приложений GNOME можно достичь особым образом отформатировав конфигурационные XML-файлы, удалив оттуде все лишние пробелы и переводы строк.
Это сильно, разрази меня гром :) А ускорить компьютер можно, удалив GNOME? :)
Защитники xml, вы уж определитесь как-нибудь: он у вас human readable или как? Я давно говорил, что пихать xml повсюду - глупо. Нет, не верили :)
А давайте я предскажу их следующий шаг? А пожалуйста: создание config-cache. Выделят каталог и будут срать туда промежуточными (видимо, бинарными) продуктами парсинга уже прочитанных xml-конфигов, чтоб повторное их чтение шло быстрее.
Иногда мне кажется, что я читаю не новости с полей разработки, а Хроники Жёлтого Дома.
>> Извините, но на современных процессорах пропуск символа даже без всякой оптимизации - это наносекунды.
больше, но не намного (порядок где-то :)
странно все это
всегда было подозрение
что KDE написан любителями
а GNOME просто плохо и идиотами
но то что все так плохо не предполагал
> Так гном врое только при загрузке конфиги считывает? Не понимаю как это влияет на последующую работу. Это только венда делает по несколько десятков обращений к реестру в секунду при простое.
Ты думаешь? А как им, интересно, удаётся instant apply без перечитывания/переписывания конфигов? Вот тут-то и тормоза, как мне кажется.
> эти так называемые тормоза - просто время, потерянное на пропуск whitespaces. и специфики C тут никакой нет. когда приложение не занимается активной обработкой xml, а просто скажем ищет в нем чего-то - имеем практически линейную зависимость времени чтения от размера файла. а выкидывание пробелов во многих xml-файлах уменьшает их вдвое, а то и больше...
Я не думаю, что линейный поиск вносит хоть какой-то реальный вклад в тормознутость xml-парсеров. Другим парсерам пробелы почему-то так сильно не мешают. А плохому танцору... сами знаете.
> :)))) ну я же говорил, у кдеешнегов комплекс относительно гконфа =))
Нет у нас комплексов. У нас везде XML используется. Сейчас уже и в конфигах будет. Проблема не в XML, а в тормознутых парсерах. Вон, Expat рулит не по детски в отличие от libxml2 сделанным "сами-знаете-где". :)
> ты уж определись, с какого боку у gconf'a xml. А то ты до сих пор не в курсе :)
Гик, а покажи мне в моём посте слово gconf, а? Гик, похоже, ты и правда ... ммм ... нездоров. Я писал о том же, о чём новость: об xml-конфигах Ubuntu (!!), которые разработчики собрались оптимизировать. Гик, когда везде мерещится gconf - это болезнь. Это к врачу, и как можно быстрее. А то последствия могут стать необратимыми.
> gconf кеширует ветки. Сюрприз, да? И никакого постоянного перечитывания, как ты ляпнул, нету.
Гик, мне за тебя страшно, честное слово. Попробуй ещё раз перечитать мой пост. Можно вслух и по слогам, если иначе не получается.
Также рекомендуется прочитать то, на что я отвечал. Дальше можно попытаться включить моск. Но сразу с ручника не снимай - контролируй, не идёт ли дым из ушей.