войти зарегистрироваться

PythonИсследование производительности сервера SockJS

Доброе время суток!

Так уж сложилось, что я занимаюсь всякими разнообразными push технологиями с использованием Tornado. Чуть ранее описывал Tornadio2, серверную реализацию протокола socket.io поверх Tornado.

Теперь хочу представить похожий проект — sockjs-tornado.

Для тех кому не очень интересно, есть другая полезная информация: сравнительное нагрузочное тестирование PyPy 1.7 против CPython 2.6.6, sockjs-node и socket.io (оба на node.js 0.6.5). Все под катом :-)

JavaScriptТест на скорость год спустя

imageЭта публикация является продолжением прошлогоднего моего поста и последующей заметки. Целый год тестовые скрипты валялись где-то на диске. Дело не дошло до сравнения JavaScript vs C#, которое напрашивалось после позорного провала JScript.NET. Не дошло, потому что я не чувствовал в себе силы адекватно перевести тесты с JavaScript, хоть и активно программирую на С#. Кроме того, я сделал пробный заход, и мне показалось, что чуда не будет. Сейчас я все-таки решил привести тестовый пакет в порядок, так, чтобы каждый мог его опробовать. Возможно, у кого-то хватит сил добавить адекватное сравнение с C#.
Под катом будут результаты тестов год спустя, ссылка на Github, и новый(старый) способ использования движка JScript от IE9 вне самого IE9.

Веб-разработкаСетевая утилита JInternetManiac для веб-разработчиков

С давних пор я пользовался небольшой сетевой утилитой Internet Maniac (весит 100 кб). Чаще всего в ней я пользовался функцией «Connect», с помощью которой можно создать TCP-соединение с сервером (обычно с веб-сервером), отправить запрос и увидеть ответ сервера. Такое можно повторить и с помощью консольного telnet, но в Internet Maniac это делать удобнее. Другие функции программы: host lookup (определение IP и/или имена хоста), listen (простейший TCP-сервер), сканер портов, ping, whois, проверка почты и др.

Программа давно не обновляется, я пытался найти ей замену, но нормальную бесплатную так и не нашёл. В итоге решил сделать собственный более продвинутый аналог на Java.

Высокая производительностьCUDA: аспекты производительности при решении типичных задач

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

AMDПотекла информация о первых результатах тестирования Bulldozer

Вообще-то, это должен был быть не пост, а ссылка, но хабрапарсер ссылку http://openbenchmarking.org/result/1103225-IV-CRAYBULLD67,1103022-IV-R910WITHB14&compare не пропустил.

В Cray потестили Bulldozer при помощи C-Ray (трассировка лучей). И оказалось, что 2-х процессорная система (@1.8GHz) по 8 ядер (16 целочисленных кластеров и 8 FPU) — всего 16 FPU — выполняет вычисление за 26 секунд. Для сравнения: 4-x процессорная на Xeon (X7550@2GHz) по 8 ядер (8 FPU + 8 int) — всего 32 FPU — за 14 секунд. В итоге, выходит, что производительность процессоров сравнима (трассировка — хороший тест, проверяющий все подсистемы процессора) или, может быть, даже выше у Bulldozer, потому что у 4-ёх Xeon'ов большая ПСП: 16 каналов доступа в память против 8-ми.

ЖелезоUsbFlashSpeed 9 месяцев спустя

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

АлгоритмыСравнение производительности Jacket и PCT/GPU от Стэнфорда

Введение от переводчика:
PCT/GPU — Parallel Computing Toolbox в среде MATLAB, средство для произведения распределённых вычислений на графической карте, считается довольно продвинутой библиотекой.
Jacket — пока малоизвестная, но многообещающая, платформа для вычислений на базе GPU. Использует MATLAB к качестве фронтэнда.

Недавно исследователи из Лаборатории Параллельных Вычислений (Pervasive Parallelism Laboratory) Стэнфорда опубликовали работу, рассказывающую о новом фреймворке для распределённых вычислений. Одной из частей их исследования является сравнение Jacket с Parallel Computing Toolboxтм, результаты которого явно указывают на то, что оптимизации в Jacket сильно влияют на производительность.

Node.JSАсинхронное программирование, коллбеки и использование process.nextTick()

Несмотря на то, что большинство из изучающих Node.js в какой-то мере знают JavaScript и имеют опыт использования его в контексте браузеров, при обсуждении практических моментов многие встречаются с трудностями в понимании работы стандартной библиотеки и механизмов обеспечения асинхронного выполнения кода, содержащего множество вложенных коллбеков. Также часто возникает недопонимание, Я постараюсь вкратце описать порядок работы event loop в Node.js и рассказать, на какие моменты стоит обратить внимание при написании качественного асинхронного кода. Думаю, что статья будет полезна и тем, кто занимается написанием производительных фреймворков для браузеров.

JavaScriptТест на скорость ServerSide из песочницы

В последнее время стали очень популярны тесты производительности Javascript движков, но в основном они касаются Client Side Javascript. Меня заинтересовал вопрос: как обстоят дела с Server Side? Но тестировать только Google V8 и SpiderMonkey было бы неинтересно. Ясно, что результаты будут схожи с Client Side — движки-то те же. Поэтому нужно было добавить к тестам что-то, что недоступно в браузере, однако достаточно распространено, а также постараться использовать специфичные для серверных задач тесты. Этим недостающим объектом для тестов виделся компилятор Jscript из .Net Framework. Однако предварительные результаты тестов стали сюрпризом для меня, и я решил добавить четвертого игрока из той же команды.

БраузерыИсследуем скорость выполнения JS и алгоритм отображения страниц

Тестирование скорости выполнения JS или отображения страниц — занятие неблагодарное. Любое тестирование отражает действительность только тогда, когда оно выполнено в как можно более одинаковых условиях и тестируются идентичные по функциональности вещи. Ведь на вопрос, что быстрее, грузовик или спорткар, каждый тут же ответит, что спорткар. А если по полю да с прицепом навоза? Победитель в каждом случае будет тот, кто лучше всего приспособлен для выполнения специфических задач.

В этой статье будет немного гипотез и немного фактов. Не будет фанатских речей и призывов сменить браузерную ориентацию.

Итак, наши подопытные кролики:
  • FF 4b7
  • Opera 10.63
  • Chrome 7

Я не тестировал IE9, потому что у меня он установлен на виртуальной машине, а это чревато наличием пенальти по скорости и ощутимым разбросом значений.