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

Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF - 1

Меня зовут Леонид Талалаев, я занимаюсь разработкой внутреннего облака Одноклассников one-cloud, про которое уже рассказывали на Хабре.

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

Привет! Меня зовут Виктор Хомяков, в Яндексе я работаю над скоростью страниц поиска. Однажды мне в голову пришла идея обобщить свой опыт и систематизировать приёмы ускорения работы кода на JavaScript. То, что получилось в итоге, собрано в этом материале.

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

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

Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем - 1Привет, меня зовут Костя Кардаманов, я работаю в отделе технологий разработки Яндекса. Обычно такой же фразой я приветствую и кандидатов на собеседовании. А сегодня я хотел бы рассказать вам, как и зачем мы проводим интервью по дизайну систем с бэкенд-разработчиками. Сразу скажу: для фронтендеров, мобильных разработчиков и ML-инженеров подобный тип собеседований применим слабо, так что эти специальности мы здесь обсуждать не будем.

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

Что такое дизайн информационных систем

Основная цель любой IT-компании — производить сервисы, которые решают задачи пользователей. Мы должны уметь собирать элементы системы в единый механизм, который будет эффективно выполнять поставленную цель, и если первый тип собеседований нацелен в первую очередь на проверку необходимого минимума, то интервью про дизайн систем проверяет достаточность навыков кандидата в достижении конечной цели. Далекому от IT пользователю принципы и устройство систем могут казаться бесконечно сложными, но мы, их разработчики, должны иметь (не обязательно детальное) представление о принципах функционирования и роли каждого компонента.

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

В последнее время всё чаще появляются статьи о производительности российских процессоров Эльбрус на различных задачах. Тема криптографии пока что остаётся за кадром, хотя в разное время были упоминания то о высоких возможностях Эльбруса (некий ГОСТ лучше в 9 раз на Эльбрус-4С, чем на Intel Core i7-2600), то о плохой оптимизации компилятора и, соответственно, крайне низкой скорости реализованных алгоритмов (Кузнечик в 100 раз медленнее, чем на Intel?). Предлагаю наконец разобраться, что может Эльбрус, на примере двух ГОСТ алгоритмов симметричного шифрования.

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

Так вышло, что на заре моей карьеры в IT меня покусал Oracle -- тогда я ещё не знал ни одной ORM, но уже шпарил SQL и знал, насколько огромны возможности БД.

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

Какой предел у предсказателя ветвлений? Проверили на x86 и M1 - 1

Некоторое время назад я смотрел на высоконагруженную часть кода и обратил внимание на это:

if (debug) {
    log("...");
}

И тут я задумался. Это — часть цикла, от которого требуется высокая производительность, но этот фрагмент выглядит как пустая трата времени, ведь мы никогда не устанавливаем флаг отладки. Нормально ли иметь в коде условные операторы, которые никогда не выполняются? Уверен, это влияет на производительность программы…
Читать полностью »

Как я разогнал Intel Rocket Lake Core i9-11900K до 7,14 ГГц на всех ядрах - 1

Процессоры семейства Rocket Lake уже доступны, а значит, пришло время для Xtreme OverClocker (XOCer). Я получил ранний доступ к процессорам и занимаюсь их разгоном уже несколько месяцев.

В этом месяце я узнал немало важных моментов о разгоне Rocket Lake, также мне удалось разогнать Intel Rocket Lake Core i9-11900K до 7,14 ГГц на всех ядрах. Еще я установил мировой рекорд на G.Skill Tweakers Contest Extreme. В статье я поделюсь несколькими советами.
Читать полностью »

Работая с различными PHP проектами часто приходится дебажить приложение чтобы найти и исправить ошибку. Во многих случаях вполне хватает xDebug, однако он не подходит для всех задач. Иногда нужно понять почему та или иная страница долго загружается, что съедает так много памяти или просто как работает большой и запутанный код.
php-spx logo webmageic
Читать полностью »

Встречаем WSE-2: 7-нм процессор с 850 тысячами ядер и энергопотреблением в 15 кВт - 1

Компания Cerebras два года назад представила свой первый процессор, размер которого был равен размеру кремниевой пластины. Площадь его составила 46 225 мм², размеры — 220х220 мм, количество транзисторов — 1,2 трлн. Первый чип получил название WSE (Wafer Scale Engine) и производился по нормам 16-нм техпроцесса.

Что касается нового чипа, то он выполнен уже по нормам 7-нм техпроцесса. Площадь осталась той же, а вот транзисторов в два раза больше — теперь 2,6 трлн. Количество ядер тоже увеличилось более чем в два раза: 850 тысяч вместо 400 тысяч, как у предыдущей модели. Процессор предназначен для дата-центров, задач по обработке вычислений в области машинного обучения и искусственного интеллекта (AI).
Читать полностью »

ARM серверы подходят для облачного хостинга лучше чем x86? Проверим - 1

Если вам нужна была высокая производительность, то вам нужно было выбирать процессор на x86 для своих решений. В последнее время, все больше и больше говорят о закате архитектуры x86 и переходе на ARM. В прошлом году компания Apple впервые представила Mac на процессорах ARM. Но подойдет ли процессор ARM для дата-центров, сможет ли ARM навсегда отправить x86 на скамью запасных?
Читать полностью »


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