RSS Telegram YouTube Apple Яндекс Spotify Google Amazon Почта

32. Итоги, ускорение LIKE/ILIKE, deadcode, курс на Brilliant

31.12.2023

Скачать

К списку выпусков

Ссылки выпуска:

Итоги года

За прошедший год вышли две минорные версии Go: 1.21 и 1.20. 1.20 не привнес заметных изменений в язык, а в 1.21 появились три новые built-in функции: min, max, clear.

В сентябре этого года также вышла 16 версия PostgreSQL. Эта версия отличается повышением производительности SQL-запросов: улучшена параллельная обработка запроса. В некоторых тест-кейсах производительность, например, COPY возросла на 300%. Также команда работает над тем, чтобы снизить простой при вакуумировании. Расширен SQL/JSON синтакс. Добавлена таблица pg_stat_io для более детального анализа I/O метрик.

Важное событие - широкая доступность языковых моделей для написания кода.

Ускорение LIKE/ILIKE

Поиск по подстроке в PostgreSQL работает по умолчанию, последовательным сканированием всех данных (seq scan). Для того чтобы ускорить поиск по подстроке достаточно выполнить две команды и производительность повысится:

CREATE EXTENSION pg_trgm;
CREATE INDEX ON table_name USING GIN (text_field_to_optimize gin_trgm_ops);

Учитываем, что размер индекса может быть существенным.

deadcode

12 декабря Алан Донован (разработчик Go в Google) опубликовал статью в Go блоке о новом инструменте deadcode для обнаружения "мертвого" кода. Утилита позволяет быстро находить неиспользуемые функции во всем проекте. В Goland такие функции подсвечиваются серым цветом и вот теперь можно "подсветить" такие функции одним вызовом команды. В одном из моих проектов возрастом более 2х лет deadcode нашел 12 неиспользуемые функций. Всегда приятно уменьшить код, выбросив ненужный мусор. Думаю над тем, чтобы включить deadcode в CI-цикл.