Как стать автором
Обновить
179.44

Высокая производительность *

Методы получения высокой производительности систем

Сначала показывать
Порог рейтинга
Уровень сложности

Заглядываем под капот FrozenDictionary: насколько он быстрее Dictionary и почему

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.8K

С релизом .NET 8 в арсенале C# разработчиков появилась новая коллекция – FrozenDictionary. Особенность этого словаря в том, что он неизменяемый, но при этом обеспечивает более быстрое чтение по сравнению с обычным Dictionary. Я неспроста разбил результаты на обложке по типам – используемые во FrozenDictionary алгоритмы сильно зависят от типа ключа, размера словаря или даже, например, количества строковых ключей одинаковой длины. В этой статье подробно разберем, насколько FrozenDictionary быстрее и почему.

Заглянуть под капот
Всего голосов 43: ↑42 и ↓1+54
Комментарии11

Инструменты для оптимизации времени

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров2.5K

В какой-то момент дел становится так много, что невозможно все держать в голове, поэтому мы ищем помощь извне. Тут нас выручают инструменты для оптимизации времени.

Хотим поделиться с вами парочкой таск-трекеров, который помогут облегчить вам жизнь!

Читать далее
Всего голосов 10: ↑1 и ↓9-8
Комментарии1

Camunda 8. Почему не стоит использовать Connectors Bundle

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.1K

Для Camunda Platform есть Connectors Bundle, который быстро помогает формировать взаимодействие между сервисами. Но так ли хорошо это решение? Рассмотрим на примере Rest Connector'a.

Читать далее
Всего голосов 13: ↑13 и ↓0+18
Комментарии0

Встроенная графика AMD Radeon 890M оказалась мощнее дискретной видеокарты GeForce RTX 3050

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров35K

В последние годы AMD активно развивает направление интегрированной графики. Сейчас компания готовится представить мощнейший видеочип Radeon 890M, который, вероятно, задаст новую планку производительности. Согласно утечкам синтетических тестов, новый iGPU обходит по производительности не только предыдущего лидера в лице Radeon 780M, но и некоторые дискретные видеокарты среднего уровня, такие как GeForce RTX 3050 в мобильном исполнении.

Читать далее
Всего голосов 16: ↑14 и ↓2+17
Комментарии26

Истории

Распределённые блокировки с помощью Tarantool 3

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.2K

Распределённая блокировка — очень удобный инструмент в кластере, который помогает обеспечивать эксклюзивный доступ к некоторому общему ресурсу. Цель такой блокировки — обеспечить доступ к ресурсу лишь одному сервису или запросу в данный момент времени. Так предотвращается гонка за данными и их неконсистентность. Распределённая (или кластерная) блокировка называется так потому, что она обеспечивается несколькими узлами, и выход из строя одного из них не повлияет на приложение. В этой статье я расскажу, как реализовать этот инструмент с помощью Tarantool 3.

Читать далее
Всего голосов 27: ↑26 и ↓1+36
Комментарии0

Китайская процессорная архитектура LoongArch продолжает развиваться: вышел 16-ядерный конкурент Intel Xeon

Время на прочтение3 мин
Количество просмотров3.5K

Привет, Хабр! На связи Антон Комаров, сегодня расскажу о новостях из мира LoongArch.

Китайцы продолжают развивать национальную отрасль разработки и производства электроники. У них получается не только выпускать обычные чипы, но и создавать современные процессоры на основе собственной архитектуры — LoongArch.

На днях компания Loongson из КНР заявила о выпуске нового процессора 3C6000. По мнению разработчиков, он может конкурировать с чипами Intel Xeon поколения Ice Lake. У 3C6000 16 ядер, но можно объединить четыре процессора и получить сразу 64 вычислительных ядра. Подробности — под катом.

Читать далее
Всего голосов 12: ↑10 и ↓2+17
Комментарии5

Сравнение ARM и x86: от структуры чипов до применения

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров8.1K

Вы когда-нибудь задумывались, почему ваш смартфон работает на процессоре ARM, а мощный игровой ПК — на x86? Эти две архитектуры играют ключевую роль в современных технологиях, но используются в разных устройствах. ARM-процессоры применяют в смартфонах, планшетах, умных часах, MacBook и даже некоторых серверах благодаря низкой потребляемой мощности. Процессоры на x86 известны своей производительностью и гибкостью, что делает их идеальными для сильных ПК и серверов.

В этой статье мы разберем, чем отличаются эти архитектуры, как они работают и почему ARM стал популярным выбором для мобильных устройств, а x86 сохраняет позиции в мире мощных ПК и серверных решений.
Читать дальше →
Всего голосов 40: ↑28 и ↓12+29
Комментарии66

Математика надёжности. Доклад Яндекса

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров11K

Вадим Мартынов, руководитель команды платформы надёжности в Яндекс Go, в своём докладе рассказал, как влияют те или иные решения на надёжность системы и как это учитывать при разработке.

Читать далее
Всего голосов 74: ↑70 и ↓4+83
Комментарии28

Продолжаем выжимать максимум из PostgreSQL

Время на прочтение10 мин
Количество просмотров13K

В апреле этого года мы, команда производительности из Postgres Professional, совместно с коллегами из Selectel решили протестировать несколько дистрибутивов PostgreSQL и узнать, как они себя поведут на разных архитектурах. С результатами можно ознакомиться в этой статье, но, как сразу было верно отмечено читателями, там был один важный косяк –  мы не сравнили производительность ванильного PostgreSQL с применением всем известных настроек по улучшению производительности и Postgres Pro Enterprise из коробки as is. Терпеть такое не было решительно никакой возможности, поэтому сегодня будет продолжение истории и ответ на важный для многих вопрос: «А есть ли у нашего форка хоть какое-то преимущество перед бесплатной ваниллой?» Или мы просто накатили общеизвестный конфиг и занимаемся импортозаместительным переклеиванием наклеек?

Читать далее
Всего голосов 25: ↑25 и ↓0+30
Комментарии20

Распределенные вычисления на Elixir: основные варианты реализации

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.1K

Сегодня поговорим с вами о теме распределённых вычислений на Elixir. Мы больше не можем позволить себе писать приложения, которые работают только на одной машине. Пришло время создавать системы, которые могут выдержать любую нагрузку и работать бесперебойно даже в случае выхода из строя отдельных компонентов.

Elixir — это язык программирования, который вырос на основе мощной виртуальной машины BEAM, используемой в Erlang. Это сразу даёт нам ряд фич: хорошую масштабируемость, встроенную поддержку конкурентности и возможность строить распределённые системы.

В этой статье мы рассмотри основные инструменты для реализации распределённых вычислений Elxir.

Читать далее
Всего голосов 9: ↑9 и ↓0+13
Комментарии1

Деградация кода — это результат неправильной организации процессов

Время на прочтение7 мин
Количество просмотров20K

Мне сильно повезло работать в организации, предпринимающей добросовестные усилия по обеспечению мощи своих команд. Но я работал и в других местах, где этого не происходило.

На своей должности руководителя разработки я стал непосредственным свидетелем разницы между командой, которой предоставили мощь и… какой антоним у мощи? Они были не слабыми, а, скорее, немощными.

Силу команды постоянно нужно подстёгивать и стимулировать, сама по себе она не развивается.

Что я под этим подразумеваю? Давайте поговорим о том, как немощные организации влияют на техническую работу.

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

Я руководитель разработки, поэтому смотрю на это с точки зрения технаря. Немногие книги о совершенствовании процессов рассматривают углублённо рассматривают улучшение процессов разработки.

Давайте изучим это на примере деградации кода.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+36
Комментарии31

Правильный инструмент для аналитики нагрузочного тестирования

Время на прочтение13 мин
Количество просмотров3.3K

В данной статье хочу рассказать про сервис load-testing-hub, главная задача которого это сбор, агррегация, анализ и визуализация данных о нагрузочном тестировании

Расскажу о том, какие проблемы решает сервис, как он помогает оценивать производительность выпускаемых релизов, а также поделюсь примерами его использования

Рассмотрим основные возможности load-testing-hub, такие как создание наглядных графиков и отчетов, сравнение результатов нагрузочных тестов

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии11

1С РИБ опять тормозит. Как лечить?

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров2.1K

Назрела тут тема про обмены между базами данных 1С. Даже сузим круг и поговорим об обменах между гомогенными базами данных (базами данных с идентичными конфигурациями).

Ситуации когда бизнес предпочитает распределенные информационные системы централизованным системам – далеко не редкость. И чем ИТ-система больше, чем больше в ней пользователей и транзакций в единицу времени, тем сложнее поддерживать обмен между ее узлами на плаву. Обмен частенько тормозит и становится помехой пользователям и даже бизнесу...

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии6

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

Как настроить веб-приложение под высокие нагрузки

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.7K

Привет, меня зовут Александр Ададуров. Я — руководитель проектов ФГБУ «Центр информационно-технического обеспечения». В этой статье я опишу опыт настройки сайта с образовательным контентом под нагрузку в пиках до 15 000 запросов в секунду или до нескольких миллионов пользователей в день. 

Образовательный контент сайта представлял собой иллюстрированные HTML-страницы, видеоуроки и различные интерактивные задания, преимущественно на JavaScript, которые проверяли правильность выполнения заданий запросами к бэкенду. Сайт жил спокойной жизнью и вяло развивался до введения локдаунов в связи с распространением COVID-19. Первые месяцы карантина существенно изменили код приложения, его архитектуру и даже серверную инфраструктуру, на которой оно располагалось. 

Читать далее
Всего голосов 14: ↑13 и ↓1+15
Комментарии8

Эффективные и актуальные методы для быстрого увеличения конверсии вашего лендинга

Время на прочтение8 мин
Количество просмотров971

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

Читать далее
Всего голосов 4: ↑1 и ↓30
Комментарии0

Правильная аналитика записей сессий: ключ к повышению конверсии вашего сайта

Время на прочтение7 мин
Количество просмотров298

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

Читать далее
Всего голосов 3: ↑1 и ↓2+1
Комментарии0

Rust и иммутабельность

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.9K

Привет, Хабр!

Иммутабельность данных в Rust – это основа для создания систем, устойчивых к ошибкам и сайд-эффектам. В этой статье рассмотрим, как Rust позволяет использовать неизменяемые структуры данных для улучшения производительности и безопасности приложений.

Начнем с синтаксических особенностей.

Читать далее
Всего голосов 15: ↑9 и ↓6+8
Комментарии12

Математика матричных расширений: как происходит умножение матриц на примере T-Head Matrix Extension

Время на прочтение13 мин
Количество просмотров7.7K

Привет, Хабр! Я Андрей Соколов, инженер-программист в группе разработки математических библиотек. Месяц назад моя коллега Валерия запустила цикл статей про матричные расширения, ускоряющие операции над матрицами. Вы уже смогли узнать, что они делают и какие существуют, какие из них разрабатываются для открытой архитектуры RISC-V.

В заключительной статье цикла разберем пример использования матричного расширения T-Head под RISC-V для реализации алгоритма матричного умножения. Сначала кратко рассмотрим наивную скалярную реализацию и блочный вариант алгоритма. Затем реализуем аналогичный вариант с использованием матричного расширения — как для квадратных матриц, так и матриц произвольного размера. Второй случай интересен тем, что возникает необходимость обработки так называемых «хвостов» — блоков неправильной конфигурации. В заключение немного расскажу, какие идеи можно использовать для дальнейшей оптимизации матричного умножения, и поделюсь полезными ссылками.

Статья не показывает пошаговую оптимизацию умножения матриц для достижения максимума FLOPS и не учит, как писать вычислительные ядра на ассемблере. Она демонстрирует использование матричного расширения и основные идеи оптимизации матричного умножения. Постарался описать все простыми словами, с иллюстрациями и небольшими вставками кода.

Читать далее
Всего голосов 26: ↑26 и ↓0+37
Комментарии7

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров757

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

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Подбираем нужные автозапчасти: миллиарды комбинаций за 12 минут

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров8.5K

Привет! Меня зовут Кирилл Егоров, я технический лидер двух юнитов Авито: «Запчасти» и «Строительство и ремонт». В этой статье рассказываю о том, как мы определяем, к каким автомобилям подходят запчасти из объявлений, как нам с помощью Golang удается перебрать миллиарды вариантов и какие трудности пришлось решить при реализации этого решения.

Читать далее
Всего голосов 27: ↑26 и ↓1+28
Комментарии10

Вклад авторов