Comments 2
Я правильно понимаю (судя по состоянию issue), что они всё-таки пофиксили эту проблему?
Нет, изначальная проблема не исправлена. Т.е. скорость нахождения правильного маршрута будет той же, просто теперь не будет переполнения стека.
Условно, ранее было:
suspend fun getRoute(input: String) {
if(pattern.matchedWith(input)) {
return this
}
return this.nest.getRoute(input)
}
То есть была рекурсия на асинхронных функциях.
А теперь стало:
suspend fun getRoute(input: String) {
if(pattern.matchedWith(input)) {
return this
}
return this.nestRoutes.filterNotNull { nr ->
nr.getRoute(input)
}.firstOrDefault()
}
То есть ввели цикл. Быстрее если и станет, то только немного.
Код выше просто пример переделки. На деле там всё скрыто за абстракциями и т.д.
Sign up to leave a comment.
Spring — эффективный роутинг