|
|
|
StringReplace
|
|||
|---|---|---|---|
|
#18+
Специально для LordMad, в продолжение вот этого http://www.sql.ru/forum/actualthread.aspx?tid=269693 :) Навеяно несовершенством StringReplace от бормана. Собственно функция замены: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. исходная строка ~ 5кбайт подстрока для поиска 3 байта строка замены 247 байт число замен ~ 500 моя функция 3 265 мс бормановская 152 016 мс разница в 50 раз примерно, т.е. можно подобрать входные параметры и чтобы в 100 раз быстрее получилось :) сейчас увеличил строку замены вдвое и число замен тоже вдвое, ждемс .... уже 17 с половиной минут :) уверен, что бормана ждемс :) повторю еще раз: код написан на коленке левый рукой, так что прошу особо не бить Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 09:28 |
|
||
|
StringReplace
|
|||
|---|---|---|---|
|
#18+
Карабас Барабасисходная строка ~ 5кбайт подстрока для поиска 3 байта строка замены 247 байт число замен ~ 500 моя функция 3 265 мс бормановская 152 016 мс разница в 50 раз примерно, т.е. можно подобрать входные параметры и чтобы в 100 раз быстрее получилось :) сейчас увеличил строку замены вдвое и число замен тоже вдвое, ждемс .... уже 17 с половиной минут :) уверен, что бормана ждемс :)ура, дождался: StringReplace = 1 101 938 мс MyStringReplaceAll = 12 406 мс эх, еще чуть-чуть до 100 раз не дотянул :)) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 09:31 |
|
||
|
StringReplace
|
|||
|---|---|---|---|
|
#18+
А если вхождений сделать мало (например, 10), а длину подстроки побольше (например, 100) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 12:59 |
|
||
|
StringReplace
|
|||
|---|---|---|---|
|
#18+
Увеличил NewPattern (в терминах StringReplace) до 10к - не дождался, 2.5 часа работала - снял задачу. Ну его, бормана, нафик LordMADА если вхождений сделать мало (например, 10), а длину подстроки побольше (например, 100)Я не нашел таких параметров, чтобы борман выиграл или хотя бы подтянулся поближе. А что у себя еще оптимизировать - пока не придумал. Разве что отказаться от библиотечной StrPos :) Меня так-то заинтересовало твое утверждение, что ты видел реализацию StringReplace, которая в 100 раз быстрее была. Просто получается, в данном случае например, что различными значениями параметров можно получить большой разбег разницы в скорости. как мерял ? чем мерял ? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 13:10 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=368&tid=2031807]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 344ms |

| 0 / 0 |
