![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Как-то я озадачился программной обработкой текста в ворде. Даже обращался с вопросами на форум Произвольная выборка слов
Теперь хочу поделиться с народом результатами своих изысканий. Надеюсь, что хоть кому-нибудь мой отчёт облегчит жизнь ![]()
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#2 | |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]() Код:
Цитата:
Код:
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 25.06.2010 в 13:35. |
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Не знаю, не пробовал.
от Word.Count мы не уходим, так как он присутствует здесь: Код:
А команду Код:
Код:
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#4 | ||
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Что ж, тогда я попробую.
Для приложенного документа получен такой результат: Цитата:
Цитата:
![]() Note: Arrays1 это твой вариант, Arrays2 — мой.[ Добавлено позже В результаты тестирования внесены изменения. Вложение изменено. См. это сообщение
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 25.06.2010 в 19:13. |
||
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Ускорение я заметил при замене Words.Count на переменную в заголовках циклов:
Код:
При использовании динамического массива ни ускорения, ни замедления я не заметил. При замене UB на UBount(CS) теряется примерно 0,5 сек Всё вполне ожидаемо. В любом случае, спасибо за идею - 10-15% выигрыш во времени (что я раньше не заменил Words.Count на переменную?! ![]()
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
З.Ы. я тестил на своей программе.
разницу в сотые (и даже десяты) доли секунды я игнорирую, поскольку система (операционная) тоже требует внимание процессора
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#7 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Должен принести извинения. По невнимательности я тестировал один и тот же макрос. Поэтому такие незначительные различия в производительности. Ошибку исправил и теперь видно, что мой код работает быстрее.
Ещё раз прошу прощения. Изменения в текст сообщения внёс, вложенный файл исправил и перезалил. Результаты не ахти, т.к. запускал на очень старом ноутбуке.
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Протестировал изменённый вариант.
Как я и говорил, ускорение даёт замена Words.Count в заголовках циклов на переменную. Вариант с UBound/LBound чуть-чуть (около 0,1 сек) проигрывает варианту с переменными
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |