С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 16

"Ускорение" программы по обработке ошибок

28.03.2012, 23:02. Показов 1086. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу диплом и возникла маленькая проблема:
есть программа, которая при вводе текста исправляет орфографию (была написана не мной). Проблема заключается в том, что текст вводится очень медленно (так как он сразу проверяется на ошибки). Скорее всего это обусловлено тем, что очень медленная связь с базой данных (где хранятся все словоформы). Научный руководитель посоветовал уйти от базы данных и создать бинарное дерево поиска при загрузке программы. (но бинарное дерево нужно формировать из текстового файла словоформ, в котором 80000 строк по 20-30 слов, т.е. объем немаленький ). На формирование дерева уйдет много времени и плюс при проверке орфографии нужен будет обход дерева, который тоже займет время. Скажите действительно ли это выход из ситуации, либо есть другой способ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.03.2012, 23:02
Ответы с готовыми решениями:

Ускорение (оптимизация) работы программы при обработке результатов SQL запроса
Доброго времени суток. Для работы с базой данных MySQL использую компоненты закладки ADO (С++ Builder 6) Результат запроса лежит...

Литература по обработке ошибок
Приветствую, посоветуйте пожалуйста литературу по с/с++ (в том числе можно статьи/обсуждения) где подробно рассматривался бы вопрос...

try vs return в обработке ошибок
Скажите пожалуйста, как лучше обрабатывать ошибку: return ... или throw ... ? Если функция типа void Добавлено через 13...

6
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
28.03.2012, 23:40
однозначно нужна многопоточность,
проверять слово на наличие ошибок нужно, когда оно полностью введено (пробел, перевод каретки, знаки препинания), это уменьшит нагрузку
где-то читал, что такого рода вещи для ускорения нужно хранить в хэштаблице, но и выборка с индексированной БД тоже должна работать мгновенно
1
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 16
29.03.2012, 00:06  [ТС]
В этом модуле была реализована проверка на возможность совершения опечатки, если делать проверку после того как слово написано такой возможности не будет. Допустим, я это исправлю, но как реализовать многопоточность? Возможен ли такой вариант: пользователь вводит текст, а в это время в другом потоке проверяются ошибки? Где можно прочитать про многопоточность? До этого ни разу не сталкивался.
0
 Аватар для sau
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
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
29.03.2012, 06:59
Цитата Сообщение от Skrilax Посмотреть сообщение
обязательным ли условием для многопоточности является наличие нескольких ядер у компьютера? или я что-то путаю?
Нет, не обязательно. Просто каждому потоку будет выделяться свое время работы, и поэтому долгая работа в одном, не будет заметна в другом потоку.
0
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 16
30.03.2012, 01:24  [ТС]
Спасибо
 Комментарий модератора 
Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста.(Правила п.4.5)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.03.2012, 01:24
Помогаю со студенческими работами здесь

Несколько ошибок при обработке строк
Доброго времени суток. При тестировании обнаружил несколько проблем с обработкой строки. 1. не работает с русскими словами. (qwerty -...

Пустая страница при обработке ошибок сервера
Есть REST на: Java, Maven, TomCat, MySql, Hibernate. Сейчас делаю обработку ошибок сервера 404, 400 и т.д. В файле web.xml добавил: ...

XNet - получить тело запроса в обработке ошибок
Привет. В документации xNet запрос с обработкой ошибок примерно такой: try { using (var request = new HttpRequest()) {...

При обработке ошибок с ExceptionMapper(Jersey), не получаю JSON
был создан класс-обработчик ошибок, чтобы можно было бросать в нужном месте exceptions типа RuntimeException. Во время выброса такого...

Статистика ошибок в webmasters яндекса и ускорение
Здравствуйте, хотел уточнить следующее: Вопрос 1: сообщения об ошибках на сайте меняется в webmasters яндекса только после апа или в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
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 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru