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

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

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

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

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

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

18 ответов

16 просмотров

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

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

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 и выяснить какой участок кода действительно долго выполняется. И там уже копать.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта