highload-2017-quiz

Быстрая фильтрация метрик из Графита

Привет, участник HighLoad++. Создатели Moira 2.0 приготовили для тебя задание.

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

Задание. Есть тривиальная, но не очень быстрая реализация фильтра в файле matcher.go. Она проходит модульные тесты на Travis CI. Напишите свою, более быструю реализацию фильтра и пришлите пулл-реквест.

Условия:

Пример. Алексей Кирпичников прислал пулл-реквест с другой реализацией фильтра. Она работает на 11 % быстрее, как утверждает Travis CI.

Победители и награждение: