Последний визит: 14 октября 2026 03:36
Раз уж спорим, вот цифры с моей машины. Старт пустого `ruby -e nil` на 3.4 около 45 мс, с `-rthor` около 70 мс, бинарник на Go 2-3 мс. Утилиту, котору...
С SQLite и потоками один нюанс: пишет она по одному, и если два запроса пишут одновременно, второй получит `database is locked`. Включи WAL и `busy_ti...
Отчитываюсь, две недели по вечерам. У заказа убрал `association :manager`, менеджер теперь создаётся только там, где он нужен. В 40 спеках сериализато...
Второй путь в 7.1 делается одной строкой через `normalizes`: [code=ruby] class User < ApplicationRecord normalizes :email, with: ->(email) { e...
С YJIT на 3.3 я мерил на похожем API: p95 со 140 до 115 мс, память на процесс Puma плюс 35-40 МБ. Если вы его уже включали руками, разницы и не должно...
Рассказал. Больше всего спрашивали, почему память снизилась, а не выросла, пришлось рисовать, как YJIT в 3.3 решает, что компилировать. Второй вопрос ...
Мой лучше в июнь, к апрелю не успею снять нормальные замеры под нагрузкой
Время набора тестов до и после принесёте? Интересно, сдвинулось ли что-то, у меня на 7.1 разница была в пределах секунды
Буду. Если второй слот никто не возьмёт, могу минут десять про rack-mini-profiler, с цифрами
Да, это GVL. Потоки помогают, когда ждём сеть или диск, а распаковка, регулярки и разбор строк упираются в процессор. Для такого проще всего процессы,...
Из 49 мс медианы большая часть рендер и Active Record. Переписывать на Go никто не будет, а YJIT включился одной переменной.
Интересно, сколько стоит этот уникальный индекс на вставке, если вебхуков тысячи в минуту. Принесёшь цифры? Я бы ещё сравнил с вариантом через SET NX ...