это современная проблема фронта - не умение писать оптимпльный код в плане производительности.
это скорее проблема архитектуры. я ничего против не имею отфильтровать 3000 элементов, это простой пример, но что будет, если в фильтрации добавить еще несколько сложных вычислений?. На фронте много что можно оптимизировать - сжатие картинок, разбивать код на чанки и т.д.