Рубрика «производительность» - 29

Здравствуйте, я разработчик игр на Flash. Последнее время все больше стало появляться постов про флешокапец, и MustHave JavaScript (дальше JS). Вроде как за JS будущие, и за открытым вебом.
Я долго не рассматривал JS всерьез как платформу для разработки игр. Ведь это интерпретированный язык, и скорость JS оставляет желать лучшего. Но совсем недавно был портирован на JS мой любимый фреймворк для анимации TweenLite. Вместе с этим автор создал тестовый пример показывающий производительность актуальных JS фреймворков: здесь.

Мне стало очень интересно, так как TweenLite JS выдавал неплохие FPS. И тут я решил написать такой же пример для сравнения Flash и JS фреймворков.
Дальше мне стало интересно сравнить FPS этих примеров в разных браузерах, и на разных ОС.
Сам тест — это анимация передвижения, и изменения размеров картинок, при чем можно изменять их количество. Тестовый пример для Flash лежит здесь, исходники примера здесь.
Читать полностью »

Электронный словарь сегодня стал одним из основных инструментов переводчика, наряду с браузером, оцифрованными справочниками и базами соответствий (последнее важно в основном лишь для переводчиков нехудожественных текстов).

Среди электронных словарей ABBY Lingvo отличается одной ключевой особенностью: полнотекстовым поиском с индексацией. Что-то похожее можно реализовать при помощи индексов в Adobe Acrobat, но удобство интерфейсов именно в словарной области не подлежит сравнению.

ABBY Lingvo давно уже превратился из обычного словаря в универсальный агрегатор источников. Вдобавок к титанической работе фирмы-создателя, энтузиастами оцифрованы в формат Lingvo сотни пособий, в том числе и основные двуязычные, и огромные многотомные толковые словари серий Cambridge, Collins, Longman, Merriam-Webster, Oxford, и энциклопедические словари вроде Британики. Созданы локальные копии сетевых гигантов (Википедий, Викисловарей, Urban Dictionary и так далее). И при обычном использовании это предоставляло бы исключительные возможности. Но при полнотекстовом поиске всё это богатство превращается ещё и в языковые корпусы и базы соответствий. Значение такого поиска при переводах сложных терминов, устойчивых словосочетаний, фразеологизмов трудно переоценить.

С каждым выпуском ABBY расширяет допустимые границы компилируемых словарей и поисковых индексов. Уже сейчас можно скомпилировать словарь размером почти в 2 гигабайта исходного текста. Однако при подключении большого количества словарей индекс разрастается. И сами словари на диске, и поисковый пользовательский индекс также могут достигать гигабайтных размеров. При этом полнотекстовый поиск замедляется, на него начинает влиять скорость работы винчестеров. Эпоха развития SSD может помочь в решении этой проблемы, но пока эти механизмы ещё не используются повсеместно из-за большей цены и меньшей износоустойчивости. К счастью, есть способ, по приросту скорости выигрывающий даже у SSD. Читать полностью »

Восьмое поколение серверных продуктов HP, представленное весной 2012 года, продолжает наполняться новыми моделями. Наряду с привычными процессорами Intel компания HP использует в своих серверах и процессоры производства AMD, предоставляя тем самым своим заказчикам большую свободу выбора.

Во второй половине августа 2012 компания HP провела в Москве семинар, на котором специалисты HP и Microsoft рассказали о новых серверах с процессорами AMD и возможностях, ими предоставляемых.

Новые серверы HP Gen8 на процессорах AMD: DL385p, BL465p Gen8
Читать полностью »

Я хотел бы начать с истории:

Учитель керамического дела объявил в день открытия, что разобьет класс на две группы. «Те, кто сидят слева» — сказал он: «будут оцениваться только по количеству проделанной работы, те, кто справа — только по её качеству». Его методика была проста, в последний день он принесет весы и взвесит работу группы «количество»: 50 фунтов горшков это «5», сорок фунтов горшков это «4» и так далее. Те, кто оцениваются по «качеству», однако, должны сделать один, пусть и совершенный, горшок, чтобы получить «5». Время сдачи пришло, и обнаружился любопытный факт: работы лучшего качества были сделаны в группе, оцениваемой по количеству. Похоже, в то время, как группа «количество» упорно штамповала свои работы и училась на своих ошибках, группа «качество» теоретизировали об идеале и, в конце концов, только и могла показать свои старания и грандиозные теории об идеале, а также кучу бесполезной глины.

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

image

Счетчики производительности можно использовать в приложении Windows Azure для сбора данных, позволяющих определять узкие места системы и настраивать производительность системы и приложений. Windows Azure предоставляет несколько счетчиков производительности, доступных для Windows Server 2008, IIS и ASP.NET. Список счетчиков производительности, которые можно использовать для приложений Windows Azure, см. в разделе «Общие сведения о создании и использовании счетчиков производительности в приложении Windows Azure».

Для реализации этой задачи выполните следующие действия.

  • Шаг 1. Сбор данных из счетчиков производительности
  • Шаг 2. Создание настраиваемых счетчиков производительности (опция)
  • Шаг 3. Запрос данных от счетчиков производительности

Шаг 1. Сбор данных от счетчиков производительности

Для настройки сбора данных от счетчиков производительности в приложении Windows Azure используется метод GetDefaultInitialConfiguration, добавляется источник данных PerformanceCounters с экземпляром PerformanceCounterConfiguration, а затем вызывается метод Start с измененной конфигурацией. Чтобы собрать данные от счетчиков производительности, выполните следующие действия.
Читать полностью »

Кто вам отвечает в QA. Расширение для браузера Рад представить вашему вниманию новую версию расширения для хабры (предыдущий топик), которое научилось показывать вопросы и ответы (QA), а также оповещать обо всех событиях в них.

И самое главное — теперь можно отвечать прямо в расширении, в том числе и в Опере.

Теперь можно создавать личную переписку и удалять её.

Исправлено много багов, сделано много улучшений и оптимизаций.

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

Понадобилось как-то в проекте сделать автообновление для клиентского приложения. Так как работало оно с отечественными криптопровайдерами, доступ к которым проще получить из .Net, написано оно было на IronPython. При этом C# выбран не был, так как на стороне сервера уже активно использовался python и сильно переучиваться не хотелось.

Казалось бы всё просто. Был набросан скрипт, который вычисляет md5-хеши для файлов входящих в состав приложения, сводит всё в один файл со строками вида “относительный путь”:”md5” и выкладывает в директорию раздачи статики nginx. Клиентское приложение при запуске забирает файлик, прогоняет аналогичный скрипт, и сверяет полученный результат с эталоном.

Но тут обнаружилась маленькая деталь. В IronPython скрипт выполнялся в несколько раз медленнее. И это на достаточно быстром железе. У пользователя же оно могло быть значительно слабее. Началась оптимизация, в ходе которой родилась мысль провести сравнение производительности Python и IronPython на этом примере. В статье, соответственно, рассматриваются три отдельных результата: для Python, IronPython и IronPython с адаптированным скриптом.
Результаты под катом.
Читать полностью »

Понадобилось как-то в проекте сделать автообновление для клиентского приложения. Так как работало оно с отечественными криптопровайдерами, доступ к которым проще получить из .Net, написано оно было на IronPython. При этом C# выбран не был, так как на стороне сервера уже активно использовался python и сильно переучиваться не хотелось.

Казалось бы всё просто. Был набросан скрипт, который вычисляет md5-хеши для файлов входящих в состав приложения, сводит всё в один файл со строками вида “относительный путь”:”md5” и выкладывает в директорию раздачи статики nginx. Клиентское приложение при запуске забирает файлик, прогоняет аналогичный скрипт, и сверяет полученный результат с эталоном.

Но тут обнаружилась маленькая деталь. В IronPython скрипт выполнялся в несколько раз медленнее. И это на достаточно быстром железе. У пользователя же оно могло быть значительно слабее. Началась оптимизация, в ходе которой родилась мысль провести сравнение производительности CPython и IronPython на этом примере. В статье, соответственно, рассматриваются три отдельных результата: для CPython, IronPython и IronPython с адаптированным скриптом.
Результаты под катом.
Читать полностью »

Когда Atom быстрее чем Core?Наглухо застряв в пробке за рулем машины, теоретически способной развивать скорость более 200 кмч, и глядя, как меня обгоняют велосипедисты на трехколесных велосипедах, я задумалась… нет, не о том, как пересадить всех на велосипеды, и не о решении транспортных проблем человечества с помощью телепортации, а… о процессорах Intel Core и Intel Atom. А именно — Atom по сравнению с Core — это, фактически, мотороллер по сравнению с автомобилем. Он потребляет меньше топлива и стоит заметно дешевле. Но зато и скорость скутера столь же заметно уступает авто (несмотря даже на способы «разогнать» мотороллер выше заводских установок). Но, все же, в пробках или на узких улочках скутер оказывается быстрее. Недаром скутер получил свое название от английского «to scoot» — удирать, так как успешно использовался английскими подростками для спасения от полиции.
Теперь вернемся к CPU. Заменим «топливо» на «электричество», а «скорость» на «производительность», и получим полную аналогию поведения Inel Atom и Intel Core. Но тогда разумно предположить, что существуют такие «пробки»и «закоулки», в которых Atom обгонит Core. Давайте их поищем.

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

От переводчика: Это перевод заметки товарища по имени Steve Souders, который очень плотно занимается вопросами производительности веб-сайтов и даже написал пару неплохих книг на эту тему.

Вчера я проводил семинар в Google Ventures для некоторых из инвестируемых ими компаний. Я не знал насколько подготовленной в вопросах производительности будет аудитория, так что я сделал обзор вопросов, связанных с производительностью, начиная с первых моих выступлений в 2007 году. Уже несколько лет я не рассказывал о методах улчшения производительности, описаных в моем блоге "High Performance Web Sites". Я прошелся по таким вещам, как Меньше HTTP-запросов, Добавление заголовка Expires и Gzip.

Но мне надо было вернуться еще дальше. Думая о тех временах, когда еще не существовало конференции Velocity и самого понятия WPO, я решил, что должен пояснить почему я занялся именно клиентской оптимизацией. Я нашел слайды, поясняющие «Золотое правило производительности»: 80-90% времени ожидания пользователем занимает работа браузера.

На слайдах были данные по времени отработки сервера и клиента для популярных сайтов, но данные были устаревшими и ограниченными, так что я решил обновить их. Вот, что получилось.

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


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