Рубрика «performance»

Мы в компании Аквариус стремимся к тому, чтобы тестирование проходило без активного участия человека. Поэтому, продолжая предыдущую нашу статью про автоматизированное тестирование BMC: Тестирование BMC: Автоматизировать! Нельзя все руками, я расскажу про универсальное решение, которое мы создаем для получения показателей производительности BMC. Зачем это нужно и как мы пытаемся применять накопленный опыт в других направлениях, например при тестировании производительности нового для компании направления — СХД (Система Хранения Данных).

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

Мы (R&D-банда devhands.io) закончили тестирование официального релиза Valkey и его сравнение с прародителем, Redis, форком которого тот является. Для тех, кто не очень в курсе: Valkey появился на свет после смены лицензии Redis, под покровительством облачных провайдеров, в первую очередь AWS.

Основное внимание мы уделили пропускной способности и времени отклика в режиме чтения - в зависимости от параметра io-threads, отвечающего за "частичный параллелизм" в этих продуктах. Забегая вперед, скажем, что в режиме записи результаты похожие и все пропорции сохраняются - всё-таки это in-memory store.

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

Привет! Решил написать небольшую техническую статью о том, как мы ускорили запрос в таблицу, до которой не доходил autovacuum из-за большой нагрузки на БД примерно в 200 раз, а разгребание outbox очереди — ещё примерно в 3 раза.

Дисклеймер

Для понимания статьи понадобится кое-какое знание PostgreSql и микро-сервисов, углубляться в это я не могу: из-за этого статья разрастётся до неприличных масштабов, но приложу краткий список ссылок на материалы, где всё объяснено подробно:

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

Выжимаем максимум из PostgreSQL - 1

Привет! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. В лаборатории мы занимаемся тестированием нового оборудования для дата-центров. О том, как мы измеряли производительность PostgreSQL на разных конфигурациях — под катом!Читать полностью »

В предыдущих сериях

Микрооптимизации:

  1. Сказка про Method as Parameter #dotnet #methods #gc

  2. Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace #perfview

  3. Пародия на замыкания #dotnet #methods #gc

  4. yield return #dotnet #il-code

Про тредпул:

  1. ThreadPool.Intro #dotnet #threadpool

  2. ThreadPool. async/awaitЧитать полностью »

В предыдущих сериях

Микрооптимизации:

  1. Сказка про Method as Parameter #dotnet #methods #gc

  2. Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace #perfview

  3. Пародия на замыкания #dotnet #methods #gc

  4. yield return #dotnet #il-code

Про тредпул:

  1. ThreadPool.Intro #dotnet #threadpool

  2. ThreadPool. async/awaitЧитать полностью »

В предыдущих сериях
В предыдущих сериях

А вы никогда не задумывались, что yield returnЧитать полностью »

Это очень хорошой case для оптимизации. Алгоритм крайне прост и его знают все. Но сколько можно сделать!

1. Julia, попытка первая и наивная

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

Наша первая реализация:

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

Во времена, когда .NET был закрытой технологией только для Windows, за ним и языком C# закрепилась репутация платформы, которая отлично подходит для решения бизнес-задач, но непригодна для соревновательного программирования и написания высокопроизводительного кода.

Часто приходится слышать, что "шарпы медленные", особенно в контексте алгоритмических задач, например с timus.online и codeforces.com. И, увы, не только слышать, но и сталкиваться с реальными проблемами, связанными с особенностями платформы, получая Wrong Answer, Runtime Error, Memory Limit, Time Limit при корректном алгоритме.

Большинство этих проблем кроется в особенностях консольного ввода и вывода. Да и часто куда проще написать cin >> nили sc.nextInt(), чем int.Parse(Console.ReadLine()) или Console.ReadLine().Split().Select(int.Parse).ToArray(), из-за чего выбор падает на другой язык.

Далее я расскажу о распространённых проблемах с консольным вводом-выводом в .NET, и о том, как сделать ввод быстрым и удобным.

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


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