Pull to refresh

Почему uBlock Origin лучше работает в Firefox

Reading time3 min
Views18K


Автор uBlock Origin и uMatrix Реймонд Хилл обновил памятку, почему расширение uBlock Origin наиболее эффективно работает в браузере Firefox. Некоторые технические детали относятся не только к uBO, но и к другим блокировщикам рекламы.

Реймонд Хилл называет несколько основных факторов: более эффективное вскрытие маскировки CNAME, HTML-фильтрация, поддержка WebAssembly, более корректная процедура запуска браузера, сжатие LZ4 и надёжно отключённый префетчинг ресурсов. Всё это есть в Firefox, но отсутствует или глючит в браузерах на основе Chromium.
Читать дальше →
Total votes 43: ↑41 and ↓2+50
Comments20

Как ускорить разжатие LZ4 в ClickHouse

Reading time23 min
Views14K
При выполнении запросов в ClickHouse можно обратить внимание, что в профайлере на одном из первых мест часто видна функция LZ_decompress_fast. Почему так происходит? Этот вопрос стал поводом для целого исследования по выбору лучшего алгоритма разжатия. Здесь я публикую исследование целиком, а короткую версию можно узнать из моего доклада на HighLoad++ Siberia.

Данные в ClickHouse хранятся в сжатом виде. А во время выполнения запросов ClickHouse старается почти ничего не делать — использовать минимум ресурсов CPU. Бывает, что все вычисления, на которые могло тратиться время, уже хорошо оптимизированы, да и запрос хорошо написан пользователем. Тогда остаётся выполнить разжатие.



Вопрос — почему разжатие LZ4 может быть узким местом? Казалось бы, LZ4 — очень лёгкий алгоритм: скорость разжатия, в зависимости от данных, обычно составляет от 1 до 3 ГБ/с на одно процессорное ядро. Это уже существенно больше скорости работы дисковой подсистемы. Более того, мы используем все доступные ядра, а разжатие линейно масштабируется по всем физическим ядрам.
Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments15

Python: Явное лучше неявного

Reading time6 min
Views14K

Приветствую, хабраюзер! Эта история началась со странного падения Python приложения. Сначала я не придал внимания данной проблеме: приложение запущено в Openshift и периодически падает. К такому поведению может приводить всякое, например, иногда ноды обновляют, а иногда случаются аварии и тогда одну или несколько нод выводят из эксплуатации. Однако со временем проблема стала регулярной и начала проявляться некоторая закономерность. При этом в Sentry не было каких-либо ошибок. Я был полностью уверен, что это какая-то типовая проблема и ее можно быстро решить, но как же я ошибался.

Читать далее
Total votes 42: ↑41 and ↓1+48
Comments13

How to speed up LZ4 decompression in ClickHouse?

Reading time23 min
Views16K
When you run queries in ClickHouse, you might notice that the profiler often shows the LZ_decompress_fast function near the top. What is going on? This question had us wondering how to choose the best compression algorithm.

ClickHouse stores data in compressed form. When running queries, ClickHouse tries to do as little as possible, in order to conserve CPU resources. In many cases, all the potentially time-consuming computations are already well optimized, plus the user wrote a well thought-out query. Then all that's left to do is to perform decompression.



So why does LZ4 decompression becomes a bottleneck? LZ4 seems like an extremely light algorithm: the data decompression rate is usually from 1 to 3 GB/s per processor core, depending on the data. This is much faster than the typical disk subsystem. Moreover, we use all available CPU cores, and decompression scales linearly across all physical cores.
Read more →
Total votes 23: ↑21 and ↓2+19
Comments0

Укрощение мифического чудовища: реальный опыт промышленного использования ScyllaDB без прикрас

Reading time8 min
Views5.2K

CassandraDB – она же просто Кассандра – хорошо зарекомендовала себя в нише высокопроизводительных NoSQL баз данных. Но, вот, её активно стала вытеснять ещё более быстрая, надежная и легко масштабируемая ScyllaDB - этакая Кассандра++. Как тут удержаться и не проверить, так ли прекрасна эта зверушка, как про неё говорят её создатели? Тем более вендоры других популярных баз данных того и гляди закроют поддержку для российских пользователей. Нужно иметь под рукой пару-тройку запасных вариантов. Сегодня мы рассмотрим, как одноглазый монстрик приживается в диких условиях кровавого энтерпрайза, и насколько целесообразно его использовать.

Об этом расскажет Илья Орлов, техлид компании STM Labs. Вместе с командой он разрабатывает высоконагруженные решения для всевозможных задач: бизнес-порталов с использованием собственной платформы, мониторинга фискальных данных и прочее. Они любят экспериментировать с разными БД, поэтому статья будет об использовании ScyllaDB на промышленных мощностях.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments4

Как я писал LZ4 плагин компрессии для Reiser4

Reading time4 min
Views12K
image

Объяснять что такое Reiser4 и с чем его едят я не буду, т. к. на этот счет достаточно информации [1, 2] и повторять её я не вижу смысла. Поэтому начну пожалуй с того, что Reiser4 я решил опробовать в 2010 году, но из-за проблем использования прозрачной компрессии совместно с упаковкой хвостов (как оказалось были проблемы в flush процедуре, которые на данный момент решены[3]) перешел обратно на ReiserFS. В 2013 году я узнал о том, что эта проблема решена [4] и я снова вернулся на Reiser4 (LZO1 на стационарной системе, на ноутбуке без сжатия). Через какое-то время я вспомнил про новости о «Чрезвычайно быстром алгоритме сжатия» LZ4, а так-же о том, что комьюнити Illumos добавило поддержку оного в ZFS. Тут меня посетила мысль: «А было-бы здорово будь в Reiser4 поддержка LZ4»! Вот я и начал «приделывать» его к Reiser4.
Подробности
Total votes 40: ↑37 and ↓3+34
Comments21

Сборка упаковщика Cmake-ом или тренировка на кошечках

Reading time6 min
Views14K
— Вы не скажете сколько сейчас градусов ниже нуля?
— Чего чего?
— Ну я …. тренируюсь.
— Тренируйся лучше..(смотрит на Моргунова) … на кошках.

В статье описывается опыт использования CMAKE и LZ4 c некоторым уклоном на embedded системы.
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments14