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

ПрограммированиеGo: производительность горутин

Введение


В этом посте мы рассмотрим производительность горутин (goroutine). Горутины — это нечто в роде очень дешевых и легковесных потоков. Больше всего, наверное, они похожи на процессы в Erlang.

Согласно документации мы можем использовать сотни тысяч горутин в наших программах. И цель статьи — проверить и конкретизировать это.

JAVAЧто вы предпочтете для осуществления простейшего эксклюзивного доступа, исходя из производительности

Проголосовало 346 человек. Воздержалось 616 человек.

JAVAИсследуем exception handling на HotSpot: бросание исключений

(пост из серии «будни перформанс-инженеров»)

Меня в личке спросили, что я могу сказать по поводу производительности try-catch, ну и исключений вообще. Итак, вот мой развёрнутый ответ, сначала про бросание исключений.

ТестированиеTsung: Нагрузочное тестирование Web-приложений


Tsung — это распределенная система нагрузочного тестирования, написанная на Erlang'е. Заявлена поддержка HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and XMPP/Jabber. В этой статье я опишу как протестировать обычный web сайт на нагрузку.

JAVAСбор тем по JVM/Performance к Java-конференциям 2012 года

Здравствуйте, уважаемые!

Продолжая традиции местных JavaOne и JavaDays, мы хотели бы в очередной раз закинуть удочку и поспрашивать, о чем бы вы хотели подробно услышать на конференциях, с точки зрения докладов про JVM, JIT, GC, производительность, и всякие околоперформансные темы.

В прошлом году мы периодически проводили Java Performance BoF, где нам можно было задать разного рода вопросы, и мы на них по мере сил отвечали. В этом году мы очевидно выросли из подобного формата, и вместо вжимания всего разом в один час, мы бы хотели посвятить отдельным темам большие доклады.

MySQLСтратегия оптимизации веб-проекта с использованием MySQL

Введение


В жизни любого крупного веб-проекта, особенно на PHP, но, в целом, это касается любого серверного ЯП, пригодного для веб-разработки, обычно наступает понимание, что «так дальше жить нельзя», и что настал момент, когда нужно провести оптимизацию работы сайта, чтобы он перестал тормозить (хотя бы на production).

Интересно, что, как правило, даже тяжелые фреймворки (вроде Symfony или RoR) на «медленных» языках, в production-окружении работают достаточно сносно по скорости, а основные «тормоза» вызываются SQL-запросами и неграмотным кешированием (к примеру, инициализация достаточно сложной и большой конфигурации проекта на Symfony занимает около 80 мс, а времена исполнения страницы, при этом, иногда достигают секунды и более).

Если вы смогли определить, что это — ваш случай, и ваш проект на MySQL, то эта статья может вам помочь принять конкретные меры и исправлению ситуации с закреплением результата и предотвращением возникновения откровенных проблем с СУБД впоследствии.

SQLMS SQL 2008, заметки на полях. Очень много случайный чисел из песочницы

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

Всех кого заинтересовала тема, добро пожаловать под кат…

PHPПишем PHP extension

А давайте сегодня взглянем на PHP немного с другой точки зрения, и напишем к нему расширение. Так как на эту тему уже были публикации на Хабре (здесь и здесь), то не будем углубляться в причины того, для чего это может оказаться полезным и для чего может быть использовано на практике. Эта статья расскажет, как собирать простые расширения под Windows с использованием Visual C++ и под Debian с использованием GCC. Также я постараюсь немного осветить работу с PHP-массивами внутри расширений и провести сравнение производительности алгоритма, написанного на native PHP и использующего код, написанный на C.

MySQLMySQL: оптимизация конструкции between

Оптимизация явно не является коньком MySQL сервера. Цель данной статьи объяснить разработчикам, которые плотно не работают с базами данных и иногда не понимают, по какой причине запрос, который успешно отрабатывает в других СУБД, в MySQL безбожно тормозит, каким образом оптимизируется конструкция between в MySQL.
MySQL использует rule based оптимизатор. Зачатки cost based оптимизации в нем конечно присутствуют, но не в должной мере, в какой их хотелось бы видеть. По этой причине часто мощности получаемых после применения фильтров множеств вычисляются неверно. Это приводит к ошибкам оптимизатора и выбору неверного плана выполнения. При чем полученные between оптимизации невозможно изменить явным указанием: индексов для выполнения запроса и порядка соединения таблиц.

PythonНаивная и эффективная оптимизация Python для работы с данными из песочницы

Общеизвестно, что Python имеет очень высокую скорость разработки.
Для многих Python (например 1, на хабре 2, 3) имеет сильный недостаток, сравнительно низкую скорость выполнения кода. Я считаю, и покажу как, при совершенно небольших затратах код на Python может на больших задачах выполнятся со скоростью С/С++.