|
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 16
|
|
"Ускорение" программы по обработке ошибок28.03.2012, 23:02. Показов 1086. Ответов 6
Метки нет (Все метки)
Пишу диплом и возникла маленькая проблема:
есть программа, которая при вводе текста исправляет орфографию (была написана не мной). Проблема заключается в том, что текст вводится очень медленно (так как он сразу проверяется на ошибки). Скорее всего это обусловлено тем, что очень медленная связь с базой данных (где хранятся все словоформы). Научный руководитель посоветовал уйти от базы данных и создать бинарное дерево поиска при загрузке программы. (но бинарное дерево нужно формировать из текстового файла словоформ, в котором 80000 строк по 20-30 слов, т.е. объем немаленький ). На формирование дерева уйдет много времени и плюс при проверке орфографии нужен будет обход дерева, который тоже займет время. Скажите действительно ли это выход из ситуации, либо есть другой способ?
0
|
|
| 28.03.2012, 23:02 | |
|
Ответы с готовыми решениями:
6
Ускорение (оптимизация) работы программы при обработке результатов SQL запроса Литература по обработке ошибок try vs return в обработке ошибок |
|
|
|
| 28.03.2012, 23:40 | |
|
однозначно нужна многопоточность,
проверять слово на наличие ошибок нужно, когда оно полностью введено (пробел, перевод каретки, знаки препинания), это уменьшит нагрузку где-то читал, что такого рода вещи для ускорения нужно хранить в хэштаблице, но и выборка с индексированной БД тоже должна работать мгновенно
1
|
|
|
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 16
|
|
| 29.03.2012, 00:06 [ТС] | |
|
В этом модуле была реализована проверка на возможность совершения опечатки, если делать проверку после того как слово написано такой возможности не будет. Допустим, я это исправлю, но как реализовать многопоточность? Возможен ли такой вариант: пользователь вводит текст, а в это время в другом потоке проверяются ошибки? Где можно прочитать про многопоточность? До этого ни разу не сталкивался.
0
|
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
|
| 29.03.2012, 01:10 | |
|
Могу ошибаться, но по моему у текстовых полей есть событие вроде OnTextChanged, вот можно на него подписаться и там делать проверку опечаток. Ну и справочник в память грузануть для ускорения процесса - 80к не так уж и много., ну если обход действительно будет заметен, то уже придется второй поток юзать.
http://www.rsdn.ru/article/dotnet/CSThreading1.xml http://www.rsdn.ru/article/dotnet/CSThreading2.xml http://www.rsdn.ru/article/dot... Part_3.xml - Вот тут как раз параллельная проверка орфографии
1
|
|
|
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 16
|
|
| 29.03.2012, 01:33 [ТС] | |
|
OnTextChanged я действительно использую. проверка именно так и реализована.
всего слов не 80000, а 80000*20 = 1 600 000 в среднем. может и больше. Спасибо за литературу. Буду читать. Еще один вопрос: обязательным ли условием для многопоточности является наличие нескольких ядер у компьютера? или я что-то путаю?
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 16
|
|||||||
| 30.03.2012, 01:24 [ТС] | |||||||
|
Спасибо
0
|
|||||||
| 30.03.2012, 01:24 | |
|
Помогаю со студенческими работами здесь
7
Несколько ошибок при обработке строк Пустая страница при обработке ошибок сервера XNet - получить тело запроса в обработке ошибок При обработке ошибок с ExceptionMapper(Jersey), не получаю JSON Статистика ошибок в webmasters яндекса и ускорение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|