LXF106:Review3
|
|
|
UndoDB 2.2
- Грэм Моррисон обнаружил, что с UndoDB он, наконец, сможет разобраться, как работает его собственный запутанный и нелогичный код – да вот, хоть Brain Party отладить…
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Мы уже встречались с UndoDB 2.0 в прошлом году – в LXF95. Версия 2.2 обещает значительный прирост скорости, а также возможность присоединения отладчика к запущенному процессу. UndoDB всегда был «копушей», что совсем неудивительно. Ведь это сродни алхимии: часы выполнения программы поворачиваются вспять.
Отладка программ весьма обременительна для системы – процессор обрабатывает дополнительный код, привязанный к исполняемой программе, а тут еще отладчик цепляется за каждую строку, словно репейник. Запуск графического приложения в GDB, отладчике, которым пользуется большинство разработ- чиков открытого ПО, снижает скорость работы программы примерно в два раза. С UndoDB 2.0 то же графическое приложение показало лишь 40 % обычной производительности.
Причина столь значительного различия – рабочая нагрузка. UndoDB делает значительно больше, чем обычный отладчик. Допустим, переменная number, равная 123 в строке 7, превращается в 321 в строке 12. При трассировке с помощью GDB мы не сможем вытащить ее старое значение без перезапуска отлаживаемой программы – это улица с односторонним движением, а потому некоторые ошибки бывает очень трудно обнаружить. С помощью UndoDB, программу можно пройти в любом направлении и проследить все изменения так, словно они происходят во время линейного выполнения. Это возможно потому, что отладчик сохраняет снимки состояния программы на каждом шаге, а это серьезная нагрузка на систему. Но результат того стоит, так как без этой способности на исправление некоторых ошибок можно потратить полжизни.
Speed++
Чтобы убедиться в том, что увеличение скорости в новой версии – не пустые слова, мы сравнили оба варианта. Через обе версии мы пропустили несколько разных программ – от инструментов командной строки до полноценных графических приложений – и отметили огромную разницу. Приложения с небольшой нагрузкой на процессор (консольные утилиты) работали практически одинаково, в некоторых случаях тест выиграла даже старая версия.
По мере роста ресурсоемкости преимущество UndoDB 2.2 становились все более заметным. Мы попробовали XFractInt, простую интерактивную фрактальную программу для X Window. В UndoDB 2.0 она едва шевелилась. Рендеринг фрактального рисунка занимал около 11 секунд, а об интерактивности можно было забыть. Загрузка процессора делала мышь почти бесполезной, и хотя с точки зрения отладки все прошло безупречно, тест программы фактически стал тестом нашего терпения. С новой версией все было совсем иначе. Рендеринг того же фрактала занимал всего секунду, а интерактивность не прерывалась на протяжении всего теста. Проблемы возникали лишь при операциях с границами окна. В остальном UndoDB 2.2 была почти вдесятеро быстрее предшественницы.
Программа работает все еще медленнее GDB, но разницу заметить уже гораздо труднее. Поэтому UndoDB теперь можно рекомендовать для отладки графических программ, а если вы когда-то отказались от него из-за медлительности – имеет смысл вернуться и попробовать еще раз. Над этой программой всегда висела проблема выбора между уникальными способностями к отладке и беспримерной ресурсоемкостью. С новой версией этот выбор уже не столь мучителен. LXF