Метка «профилирование»

Американская полиция уже несколько лет экспериментирует с автоматической обработкой статистики о компьютерных преступлениях. Например, в 2011 году в городе Санта-Крус (Калифорния) начали использовать в экспериментальном режиме программу предсказания преступлений. Там на базе статистики преступлений за последние несколько лет вычисляется частотность каждого типа преступлений в разных районах города — и соответствующим образом составляются маршруты для полицейских патрулей с указанием «горячих точек».

Полиция Чикаго составила список из 400 предполагаемых будущих преступников

Полицейский отдел Чикаго вывел дата-майнинг на новый уровень — и объединил статистику с профилированием. Например, в прошлом году местная пресса писала о том, что полиция составила список наблюдения. В него внесены около 400 граждан, которые по профилю наиболее склонны совершить преступление в ближайшем будущем.
Читать полностью »

Предисловие

Одним из камней преткновения при разработке на node.js является более сложная, по сравнению с другими современными языками, отладка. Из-за асинхронной структуры кода в большом приложении найти утечку памяти или место интенсивного использования процессора становится затруднительно без специализированных утилит. В разное время для node.js уже создавались инструменты профилирования, но большинство из них либо просто не достаточно удобные, либо перестали поддерживаться разработчиками.

Поиски

Долгое время я обходился консервативными методами отладки в виде периодического вывода объёма используемой памяти и времени выполнения критических участков кода в консоль, но настал момент, когда необходимость наличия качественного инструмента встала очень остро.

Первым делом я решил посмотреть не оправился ли node-inspector, который после перехода на node.js 0.6.x перестал поддерживать профилирование CPU и Heap. Оказалось, что в новой версии node-inspector неработающий профайлинг окончательно исключён и теперь это просто debugger. Немного покопавшись в коде старой версии, мне всё же удалось завести профилирование CPU и Heap на node 0.8.x, однако это решение не было идеальным. Чтобы вывести его из состояния «поделки» необходимо было бы заменить устаревший интерфейс WebKit-консоли на современный, переписав приличное количество кода и исправить некоторые проблемы производительности. В целом, решение на основе консоли WebKit мне кажется очень не гибким, поэтому я бросил эту затею и продолжил поиски.

Вот оно

Читать полностью »

Требования к производительности ПО разные: для каких-то приложений она критична, для каких-то — нет. И даже если нет жестких ограничений, нам всегда хочется, чтобы наше ПО работало быстрее. Одним из методов, позволяющих выявить «узкие» места приложения для дальнейшей оптимизации, является профилирование.

На моей текущей работе в качестве основной IDE используется Qt Creator. Когда возникла необходимость использовать профилировщик в одном из проектов, я решил опробовать gprof, входящий в состав MinGW и поэтому не требующий никаких дополнительных действий по установке.
Читать полностью »

Сделайте еще шаг к идеальной продуктивности ;)

image

Представляем вниманию хабрасообщества PhpStorm 4.0:

  • Полная поддержка PHP 5.4
  • Встроенный Code coverage для PHPUnit
  • Новые PHP code inspections
  • Сообщения PHP Code Sniffer прямо в редакторе
  • Встроенный Drupal-стиль
  • Лучшая в индустрии поддержка JavaScript (включая ECMAScript Harmony)

Читать полностью »


Вступление

Много существует статей на Хабре, описывающих интересные и сложные аспекты веб-разработки, но много существует читателей, которые, находясь в начале своей карьеры веб-разработчика, хотели бы видеть материал, который позволил бы сделать первый шаг от «PHP за 24 часа» до разработки на серьезном уровне, и я хотел бы поделиться своим опытом в этом деле.

Особенности веб-приложения делают его разделенным на две части: клиентскую и серверную. На стороне клиента работает код на JavaScript (может быть, где-то можно найти и VBScript, но мы, пожалуй, не будем рассматривать этот случай), на серверной же — много что, в принципе, но мы рассмотримЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js