|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.02.2013, 22:32 | #11 | |
Форумчанин
Регистрация: 04.01.2011
Сообщений: 260
|
долго думал на предложенным алгоритмом
Цитата:
Код:
Если возможно, укажите на узкие участки и как их заменить, но без использования указателей. это пока не совсем понятно |
|
20.02.2013, 07:06 | #12 | ||
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
1. Определение времени вынеси за пределы функции. Это позволит более корректно определить время её работы.
Код:
Цитата:
Код:
Код:
- вызов доп процедуры (сам вызов и передача туда параметров) - избыточный для данной задачи алгоритм (внутри PosEx) - выполнение не нужных в данном случае проверок (внутри PosEx) Код:
3. Вообще, функция перегружена всякими Copy, Insert и PosEx. 4. Цитата:
Например Код:
Код:
Copy - более надежная функция, но смысл в том, что и от неё можно избавится. Вывод Тут 2 пути: 1. Писать более громоздкий и сложный код и оптимизировать его до талого (в идеале на голом BASM) 2. Оставить всё как есть (если скорость и корректность работы устраивает), устранив только самые явные 'тормоза'. |
||
20.02.2013, 09:45 | #13 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Ваш вариант съедает последние цифры, а при некоторых тестах зацикливается.
Написал вот что Код:
Последний раз редактировалось Sibedir; 20.02.2013 в 18:32. |
20.02.2013, 09:46 | #14 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Проверял на строках
Код HTML:
111111111112222222222233333333334444444444444445555555555555555 11111111111<script>222222222223333333333444444444444444</script>5555555555555555 11111111111<script >222222222223333333333444444444444444</script>5555555555555555 11111111111<script qqq>222222222223333333333444444444444444</script>5555555555555555 11111111111<script qqq 222222222223333333333444444444444444</script>5555555555555555 11111111111<script->222222222223333333333444444444444444</script>5555555555555555 11111111111<script>222222222223333333333444444444444444</script->5555555555555555 11111111111<script>22222222222</script>3333333333<script >444444444444444</script>5555555555555555 11111111111<script->22222222222</script>3333333333<script qqq>444444444444444</script>5555555555555555 11111111111<script>22222222222</script->3333333333<script>444444444444444</script>5555555555555555 11111111111<script >22222222222</script->3333333333<script qqq>444444444444444</script>5555555555555555 11111111111<script 22222222222</script->3333333333<script qqq>444444444444444</script>5555555555555555 11111111111<script>22222222222</script>3333333333<script->444444444444444</script>5555555555555555 11111111111<script></script>3333333333<script>444444444444444</script-> 11111111111<script >22222222222</script>3333333333<script>444444444444444</script->5555555555555555 11111111111<script>22222222222</script->3333333333<script>444444444444444</script->5555555555555555 11111111111<script >22222222222</script->3333333333<script>444444444444444</script->5555555555555555 11111111111<script >22222222222</script>3333333333<script>444444444444444</script>5555555555555555 11111111111<script></script>3333333333<script>444444444444444</script> Код HTML:
111111111112222222222233333333334444444444444445555555555555555 111111111115555555555555555 111111111115555555555555555 111111111115555555555555555 11111111111<script qqq 222222222223333333333444444444444444</script>5555555555555555 11111111111<script->222222222223333333333444444444444444</script>5555555555555555 11111111111<script>222222222223333333333444444444444444</script->5555555555555555 1111111111133333333335555555555555555 11111111111<script->22222222222</script>33333333335555555555555555 111111111115555555555555555 111111111115555555555555555 111111111115555555555555555 111111111113333333333<script->444444444444444</script>5555555555555555 111111111113333333333<script>444444444444444</script-> 111111111113333333333<script>444444444444444</script->5555555555555555 11111111111<script>22222222222</script->3333333333<script>444444444444444</script->5555555555555555 11111111111<script >22222222222</script->3333333333<script>444444444444444</script->5555555555555555 1111111111133333333335555555555555555 111111111113333333333 Код:
Последний раз редактировалось Sibedir; 20.02.2013 в 10:07. |
20.02.2013, 16:05 | #15 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Вообще надо сначала уточнить, что же всё-таки делать, когда синтаксис тегов неправильный. Если это XML, то на это можно забить, всё равно не распарсится. А если это HTML и надо реально удалить все скрипты, то надо учитывать поведение браузеров, чтобы что-нибудь не то не осталось.
Код:
|
21.02.2013, 16:54 | #16 |
Форумчанин
Регистрация: 04.01.2011
Сообщений: 260
|
Всем большое спасибо. Пока буду изучать примеры и пробовать написать что то работающее.
пока этот вариант быстрее всего, но может обрабатывать массив тегов только в конвеере Код:
Последний раз редактировалось Pcrepair; 21.02.2013 в 17:23. |
21.02.2013, 21:47 | #17 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Вообще я бы первым делом попробовал найти какую-нибудь библиотеку для работы с регулярными выражениями и проверить быстродействие. И только если будет тормозить, тогда изобретать велосипеды.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Быстродействие VBA | Sasha_Smirnov | Microsoft Office Word | 24 | 06.12.2012 13:35 |
Быстродействие SQL и C# | Manolla | C# (си шарп) | 3 | 28.09.2011 08:26 |
Быстродействие инструментов С++ | coinkrsk | Общие вопросы C/C++ | 2 | 07.10.2010 13:34 |
Не работает функция copy и delete | omigos99 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 03.10.2010 13:46 |
Быстродействие | sxerox | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 19.04.2010 18:53 |