*nix → Профилирование программ в QNX Momentics из песочницы
Общие сведения
QNX Momentics Professional Edition (PE) основанная на платформе Eclipse — это полнофункциональный и высокоинтегрированный профессиональный комплект разработчика, который содержит все необходимое для построения и оптимизации приложений для ОСРВ QNX Neutrino. Благодаря широкому набору удобных инструментов – от средств встраивания на процессорную плату до средств удаленной диагностики – комплект QNX Momentics PE обеспечивает единую, гибкую программную среду для всего цикла разработки.
Профилирование программ предоставляет простой и удобный механизм исследования выполнения программы с целью ее оптимизации. Профилирование — это сбор характеристик работы программы, таких как время выполнения отдельных фрагментов программы, число верно предсказанных условных переходов т. д. Инструмент, используемый для анализа работы, называют профилировщиком.
В данном руководстве по шагам профилируем учебное, многопоточное приложение sy21 с помощью инструментов QNX System Profiler и QNX Application Profiler, для демонстрации возможностей средств профилирования в QNX Momentics.
Проектирование и рефакторинг → Прагматичный подход к производительности
Является преждевременная оптимизация дорогой в ад? Или подход «потом исправим» превращает программистов из «специалистов» в презираемую всеми «школоту»?
Эти вопросы не имеют четких ответов, тем не менее, в этой статье я постараюсь описать мой собственный подход к производительности. Что я делаю для того, чтобы мои системы работали с приличной скоростью, но не нарушали прочих требований, таких как модульность, сопровождаемость и гибкость.
Эти вопросы не имеют четких ответов, тем не менее, в этой статье я постараюсь описать мой собственный подход к производительности. Что я делаю для того, чтобы мои системы работали с приличной скоростью, но не нарушали прочих требований, таких как модульность, сопровождаемость и гибкость.
PHP → Вышел PhpStorm 3.0
Доступна для загрузки новая версия PhpStorm — среды разработки для PHP от компании JetBrains. Закачка идет быстро и нас здесь хорошо знают — так что буду краток.
Сотни различных улучшений, более полуторы тысячи голосов пользователей добравшихся до трекера. Наиболее заметные новые функции и изменения:
Подробности и картинки
Уже скоро: релиз WebStorm 3.0 — поддержка Node.JS, JSLint и JSTestDriver
Работайте с удовольствием!
P.S. Ошибки — в трекер, вопросы — в форум, работа над 3.0.1 уже идет!
Сотни различных улучшений, более полуторы тысячи голосов пользователей добравшихся до трекера. Наиболее заметные новые функции и изменения:
- Анализ кода и поиск дубликатов помогут вам найти потенциальные ошибки и код низкого качества, рефакторинг — безопасно улучшить его
- Диаграммы классов UML помогут охватить взглядом структуру проекта и семантическое представлений изменений — локальных или из VCS
- Просмотр результатов профилирования c помощью Xdebug и Zend Debugger
- Поддержка PhpUnit 3.6 и всех опций командной строки
- CoffeeScript
- Рекурсивная синхронизация папок и гибкая настройка исключений FTP/SFTP
- Microsoft TFS, граф ревизий для git
- Новый интерфейс для всех операционных систем
Подробности и картинки
Уже скоро: релиз WebStorm 3.0 — поддержка Node.JS, JSLint и JSTestDriver
Работайте с удовольствием!
P.S. Ошибки — в трекер, вопросы — в форум, работа над 3.0.1 уже идет!
Программирование → Запоздалая оптимизация
Вашему вниманию предлагается перевод статьи Дениса Форбса (Dennis Forbes) "The Sad Reality of Post-Mature Optimization". Превосходные иллюстрации также взяты из оригинальной статьи.
Знаменитое утверждение «преждевременная оптимизация — корень всех зол» принадлежит перу Дональда Кнута. К сожалению, изначальный смысл этой фразы давно утерян, и в последнее время её используют лишь как отговорку, позволяющую отбиться от любых претензий к скорости работы программы.
На каком этапе разработки пора обратить внимание на производительность? В какой момент оптимизация перестает быть преждевременной и становится своевременной?
Знаменитое утверждение «преждевременная оптимизация — корень всех зол» принадлежит перу Дональда Кнута. К сожалению, изначальный смысл этой фразы давно утерян, и в последнее время её используют лишь как отговорку, позволяющую отбиться от любых претензий к скорости работы программы.
На каком этапе разработки пора обратить внимание на производительность? В какой момент оптимизация перестает быть преждевременной и становится своевременной?
Facebook → Веб-сайтам грозит штраф 50 тыс. евро за установку кнопки Facebook Like
Германия отличается даже от европейских соседей — в этой стране наиболее ревностно следят за соблюдением законов о защите приватных данных. Любые попытки внедрить отслеживающую технологию здесь могут наткнуться на судебный запрет. Немецкие домовладельцы заставляют Google удалять дома с фотографий Street View, снифферы в автомобилях Street View тоже впервые обнаружили именно в Германии. Даже функцию распознавания лиц на Facebook хотят поставить вне закона. А теперь в Германии нашли ещё одну онлайновую фичу, которая нарушает права граждан: это кнопка Facebook Like (Gefällt mir). JavaScript → Javascript и canvas в игре «Жизнь» Джона Конвея
Напишем эту алгоритмическую игру [1] так, чтобы извлечь из неё максимальную образовательную пользу в области алгоритмов, языка Javascript, хорошего стиля программ, умения оптимизировать код. Центральным местом обсуждения будет не игра, а код, способы реализации, оптимизация.Неоднократно встречалось в литературе и статьях мнение, что эту игру знает каждый программист и что почти каждый пробовал её программировать. Например, разные авторы писали, что через неё изучают новые для них языки программирования.
Недавно проведённый на Хабре опрос [3] показал реальную картину — 20% программистов написали когда-либо её работающую реализацию, а порядка 10% о ней не слышали. Что ж, тем интереснее будет оставшимся 80% узнать, что можно извлечь из реализации игры.
Python → Профилирование python приложений
Краткая заметка с линками и примерами о профайлинге:
- производительности: hotshot или python profile/cProfile + визуализатор логов kcachegrind (есть порт под windows, аналог WinCacheGrind)
- использование памяти: dowser с web-интерфейсом
.NET → Работа с Tier Interaction Profiler ( TIP )
Это малоизвестная функция входящая в состав Visual Studio 2010 Premium которой я хочу посвятить немного времени и познакомить вас с ней. Она полезна когда вы пытаетесь определить почему ваше приложение ASP.NET не работает с такой производительностью с которой должно было бы, и как построены запросы приложения к базе данных, улучшают ли они производительность или снижают.
Visual Studio → Профилирование приложений в Visual Studio 2010
Сегодня мы будем замерять производительность нашего приложения с помощью Visual Studio Profiling Tool.
Visual Studio Profiling Tool позволяет разработчикам измерять, оценивать производительность приложения и кода. Эти инструменты полностью встроены в IDE, чтобы предоставить разработчику беспрерывный контроль.
В этом руководстве мы по шагам профилируем приложение PeopleTrax используя Sampling и Instrumentation методы профилирования, чтобы выявить проблемы в производительности приложения.

Много картинок.
Visual Studio Profiling Tool позволяет разработчикам измерять, оценивать производительность приложения и кода. Эти инструменты полностью встроены в IDE, чтобы предоставить разработчику беспрерывный контроль.
В этом руководстве мы по шагам профилируем приложение PeopleTrax используя Sampling и Instrumentation методы профилирования, чтобы выявить проблемы в производительности приложения.

Много картинок.
Visual Studio → Visual Studio 2010: работа с новым профайлером
Мне уже довелось демонстрировать, как новая итоговая страница профайлера позволяет проще находить и исправлять проблемы производительности, но порой для поиска требуется больше усилий. В этот раз я углублюсь в своем рассказе в другую фичу VS2010, которая называется Function Details View (детали функции).Снова для демонстрации я буду использовать приложение PeopleTrax, которое вы можете скачать с CodeBox. У меня есть отчет, который я собрал ранее используя функцию CPU Sampling в профайлере, в котором приложение сильно нагружает CPU (по крайне мере на одном ядре).