169 похожих чатов

Всем привет! Меня сюда изгнали из другого чата по джаваскрипт))))))

помогите пожалуйста)))

Делаю голосового помощника на джаваскрипте на основе апи MDN.
Создала свой парсер комманд и ключевых слов в распознанном тексте.

Из-за того, что для поиска команд приходится несколько раз сравнивать массив слов, которые пришли от юзера, с массивом слов, которые подходят под ту или иную команду, работает это дело немного медленно.
То есть по команде "открой карту" карта откроется быстро, но не настолько быстро, как просто по кнопке. И задержку видно конечному юзеру.

Какие есть варианты ускорения кода на джаваскрипте? Может можно массивы чем-то заменить, или есть какие-то быстрые библиотеки?

18 ответов

14 просмотров

а голос в текст чем распознается?

Реально такие большие массивы, что ощущается задержка? Или что-то сложное есть в самом алгоритме сравнения?

Daria-🥭 Автор вопроса
Alexey Ermakov
а голос в текст чем распознается?

Написала же, MDN https://developer.mozilla.org/ru/docs/Web/API/SpeechRecognition

Daria-🥭 Автор вопроса
Alexander G.
Реально такие большие массивы, что ощущается задер...

Я не знаю, из-за массивов ли это конкретно, они вроде не сильно огромные, но по сравнению с нажиманием на кнопку задержка есть

Daria 🥭
Я не знаю, из-за массивов ли это конкретно, они вр...

Покажи код сравнения и перебора, иначе это пустое

а есть ещё какие-то чаты

Daria-🥭 Автор вопроса
Sticky
а есть ещё какие-то чаты

Да, и меня в них во всех уже застебали за мои вопросы)))

я понимаю , что вы шутите, но никто вас не изгонял из чата, а направил в личном сообщении , представив данный чат как более компетентный и отзывчивый)))) Не фиг напраслину возводить)))

Daria-🥭 Автор вопроса
Alexander G.
Покажи код сравнения и перебора, иначе это пустое

https://pastebin.com/FMQaWhyf __________________________________________ Там нифига непонятно скорее всего так сразу, потому что я ещё только учусь, но начинается всё с функции keyword_parsing, которая ищет сначала ключевое слово. Типо как "Алиса".

Daria 🥭
https://pastebin.com/FMQaWhyf __________________...

можно попробовать вместо массивов использовать сеты, или просто обьекты и искать по ключу

Daria 🥭
https://pastebin.com/FMQaWhyf __________________...

для поиска слов выгоднее префиксное дерево исползовать, но в js его реализация будет скорее всего медленнее хеш-таблицы (объект, мап, сет)

Daria-🥭 Автор вопроса

Так они и так все в одном регистре, до этого-то я додумалась))))

Daria 🥭
https://pastebin.com/FMQaWhyf __________________...

в остальном, можно хранить все слова в одной таблице с указанием что это за слово (существительное, глагол или ключевое (кристина)) и соответствующую сущность или метод

Daria 🥭
Так они и так все в одном регистре, до этого-то я ...

Я не смотрел сильно, увидел больше 2х циклов и закрыл

Daria-🥭 Автор вопроса
Vyacheslav Ananev
Я не смотрел сильно, увидел больше 2х циклов и зак...

Я до этого просто писала только на Си, до сих пор не перестроилась. В любом случае спасибо)

Daria 🥭
https://pastebin.com/FMQaWhyf __________________...

Массивы меленькие, искать долго там нечему. Даже если бы была пара тысяч. Где-то в методах проблема. Для новичка один способов обложить ключевые вызовы функций console.time и выяснить какой участок кода действительно долго выполняется. И там уже копать.

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта