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

В декабре 2015 вышел PHP 7.0. Компании, которые перешли на «семерку» отметили, что увеличилась производительность, а нагрузка на сервера — уменьшилась. Первыми перешли на семерку Vebia и Etsy, а у нас Badoo, Авито и OLX. Для Badoo переход на семёрку обошелся в 1 млн. долларов экономии на серверах. Благодаря PHP 7 в OLX средняя нагрузка на сервер снизилась в 3 раза, повысилась эффективность и экономия ресурсов.

Дмитрий Стогов из Zend Technologies на HighLoad++ рассказал, благодаря чему повысилась производительность. В расшифровке: о внутреннем устройстве PHP, об идеях в основе версии 7.0, об изменениях в базовых структурах данных и алгоритмах, которые и определили успех.

Disclaimer: На март 2019 года 80% сайтов работают на PHP, и 70% из них — на PHP 5, хотя с 1 января 2019 эта версия не поддерживается. Доклад Дмитрия от 2016 года про принципы, благодаря которым произошел двукратный скачок производительности между PHP 5 и 7, — актуален и в марте 2019. Для половины сайтов — точно.

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

История успеха nginx, или «Возможно всё, пробуй!» - 1

Игорь Сысоев, разработчик веб-сервера nginx, член большой семьи HighLoad++, не просто стоял у истоков нашей конференции. Я воспринимаю Игоря как своего профессионального учителя, мастера, который научил меня работать и понимать высоконагруженные системы, что на десятилетие определило мой профессиональный путь.

Естественно, я не мог пройти мимо оглушительного успеха команды NGINX… И взял интервью, но не у Игоря (он по-прежнему интроверт-программист), а у инвесторов из фонда Runa Capital, которые десять лет назад разглядели nginx, построили вокруг него бизнес-инфраструктуру, а сейчас вели сделку, беспрецедентную по размеру для российского рынка.

Цель статьи под катом — ещё раз подтвердить — возможно все! Пробуй!Читать полностью »

Как вы думаете, эквиваленты ли по производительности эти два варианта проверки условий внутри цикла?

		
if a > b && c*2 > d {
	....
}
// и
if a <= b  { 
  continue;
}
if c*2 > d {
 ....
}

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

Новый мировой рекорд по вычислению числа пи: 31,4 трлн знаков - 1

Формула Бэйли — Боруэйна — Плаффа, которая позволяет извлечь любую конкретную шестнадцатеричную или двоичную цифру числа пи без вычисления предыдущих (нынешний рекорд был установлен на алгоритме Чудновского, см. под катом)

Вычислительный кластер Google Compute Engine за 121 день на 25 виртуальных машинах рассчитал наибольшее количество цифр в числе пи, установив новый мировой рекорд: 31,4 триллиона знаков после запятой. Это первый раз, когда для расчёта числа пи такой величины использовалось общедоступное облачное программное обеспечение.

Рекорд будет записан на имя Эммы Харуки Ивао (Emma Haruka Iwao) из подразделения высокопроизводительных вычислений в Google. Именно она использовала инфраструктуру Google Cloud для вычислений. Предыдущий мировой рекорд был установлен Питером Трубом в 2016 году, он рассчитал число до 22,4 триллиона цифр на специально сделанном сервере, который тоже спонсировал работодатель.
Читать полностью »

В феврале в Стэнфорде прошла конференция, посвящённая высокопроизводительным вычислениям (HPC). Представители VMware рассказали, что при работе с GPU система на базе модифицированного гипервизора ESXi по скорости не уступает bare metal решениям.

Рассказываем о технологиях, которые позволили этого добиться.

Ситуация: виртуальные GPU не уступают по производительности железным решениям - 1Читать полностью »

Едва ли будет неверным сказать, что лучшие из людей
обретают радость через страдание.
Людвиг ван Бетховен

Оркестр перфоманса - 1

Я Сергей, работаю в Яндекс.Деньгах в команде по исследованию производительности. Хочу поведать вам начало истории о нашем пути к использованию оркестровки — как мы выбирали инструменты и что при этом учитывали. Всё события из статьи происходят в реальном времени, поэтому вы, дорогие читатели, следите за развитием ситуации практически в прямом эфире.

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

Монолит для сотен версий клиентов: как мы пишем и поддерживаем тесты - 1

Всем привет!

Я бэкенд-разработчик в серверной команде Badoo. На прошлогодней конференции HighLoad я выступал с докладом, текстовым вариантом которого и хочу поделиться с вами. Этот пост будет наиболее полезен тем, кто самостоятельно пишет тесты для бэкенда и испытывает проблемы с тестированием legacy-кода, а также тем, кто хочет тестировать сложную бизнес-логику.

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

6 нежданчиков от Джулии - 1

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

Во время поисков наткнулся на курс программирования для экономистов (помимо Джулии там есть и Питон). Опытные могут пробежаться по экспресс курсу или ознакомиться с книгой How to Think Like a Computer Scientist

Далее предоставлен перевод материала из блога Christopher Rackauckas 7 Julia Gotchas and How to Handle Them

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

Александр Рубин работает в компании Percona и не единожды выступал на HighLoad++, знаком участникам как эксперт в MySQL. Логично предположить, что и сегодня речь пойдет про что-то, связанное с MySQL. Это так, но лишь отчасти, потому что еще мы поговорим про интернет вещей. Рассказ будет наполовину развлекательный, особенно первая его часть, в которой посмотрим на девайс, который Александр создал, чтобы собрать урожай абрикосов. Такова уж натура настоящего инженера — хочешь фруктов, а покупаешь плату.

Гибкая схема хранения данных в MySQL (JSON) - 1
Читать полностью »

Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.

Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание первой версии! Построить надежную, высокопроизводительную, устойчивую к отказам подсистему рантайма, поведение которой можно удобно наблюдать и отлаживать — очень, очень сложная задача.

Сделать простой сборщик мусора — обманчиво просто, и вот этим хочется заняться в данной статье. Роман Кеннке на FOSDEM 2019 сделал доклад и демо под названием «Пишем GC за 20 минут», используя более раннюю версию этого патча. Несмотря на то, что реализованный там код многое демонстрирует и обильно откомментирован, ощущается необходимость в хорошем высокоуровневом описании происходящего — именно так и появилась эта статья.

Базовое понимание работы сборщиков мусора сильно поможет в понимании написанного здесь. В статье будут использоваться специфика и идеи в конкретной реализации HotSpot, но вводного курса по конструированию GC здесь не будет. Возьмите GC Handbook и прочитайте первые главы про самые основы GC, а ещё быстрей позволит начать статья на Википедии.

Самодельный сборщик мусора для OpenJDK - 1

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


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