Был сервис-локатор со скоупами, внутри скоупа поиск сервиса занимал О(1), а по скоупами О(n) где n — количество скоупов.
Я сделал свой вариант с индексацией сервисов одного класса, и теперь найти нужный индекс эт 1 и вытянуть сервис по индексу тоже 1 :)