|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
Считаю сколько раз строка встречается в массиве Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Но код работает ужасно долго. Как ускорить процесс? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 17:42 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
посмотрел - между итерациями if (richTextBoxParser.Lines[i].Contains(textBoxStringToFind.Text)) - 90 милисекунд. Я конечно знаю что Сшарп слоу блоу - но не настолько же. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 17:52 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
Закомменть на время Application.DoEvents(), проверь что будет ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:01 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
даже если убрать progressBarParser.Value = count; Application.DoEvents(); все равно межу итерациями 90 милисекунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:01 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
Цикл замени на foreach ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:03 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
fkthatЦикл замени на foreach фига се! помогло. пробегает за секунду. спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:14 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
хотя тут нам пытаются доказать что foreach медленее. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:33 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
jenya7, дело совсем не в этом... а в реализации вашей... посмотрите на код и вам станет немного понятней в чем причина оверхеда. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:41 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
jenya7хотя тут нам пытаются доказать что foreach медленее.а причем тут это. Видимо, обращение к Lines по индексу достаточно медленное ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:43 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
Shocker.Projenya7хотя тут нам пытаются доказать что foreach медленее.а причем тут это. Видимо, обращение к Lines по индексу достаточно медленное вот это и не понятно как прямая индексация медленее чем foreach. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:45 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
Ну а ты смотрел, что внутри? Кто сказал, что там массив? Возможно, чтобы получить строку по индексу, он каждый раз делает пересчет от начала текста. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:47 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
Shocker.Pro, я привел ссыль... но вера в волшебства непреодалима ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:48 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
buser, по ссылкам никто не ходит, надо прям сюда постить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:50 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:50 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
Shocker.ProНу а ты смотрел, что внутри? Кто сказал, что там массив? Возможно, чтобы получить строку по индексу, он каждый раз делает пересчет от начала текста. а вот это уже ближе к телу, как говорил Моппасан. Действительно я же обращаюсь в richTextBox а надо richTextBox считать в массив. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:51 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
jenya7, возьмите за правило свойства один раз дёргать: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 18:54 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
skyANAjenya7, возьмите за правило свойства один раз дёргать: спасибо. так и сделал. более того string str = textBoxStringToFind.Text; if (richTextBoxParser.Lines[i].Contains(str )) тоже экономит пару милисекунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 19:00 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
skyANAвозьмите за правило свойства один раз дёргать:не поможет jenya7Я конечно знаю что Сшарп слоу блоу ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 19:02 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
Shocker.ProskyANAвозьмите за правило свойства один раз дёргать:не поможет jenya7Я конечно знаю что Сшарп слоу блоу ну а че. борланд быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 19:05 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
skyANAjenya7, возьмите за правило свойства один раз дёргать: Вообще, бест практис, даже у МС описанный в дезигн лайбрарис гайдлайн, или как там биш его, это делать только свойства которые во-первых идемпотентны, во вторых которые можно вызывать повторно без удара по производительности (либо оно само быстрое, либо кешируется где-то). Но, вот, выходит, что они сами этому не всегда следуют. Взять хотя бы тот самый DateTime.Now, который по-хорошему должен был бы быть DateTime.GetNow(). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 19:16 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
Еще, правило - если свойство возвращает reference type, то должен возвращаться один и тот же объект. И поэтому массивы из свойства вообще вовращать нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 19:22 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
jenya7ну а че. борланд быстрее. А еще там кнопки всякие есть шестиугольные. С диска "1001 компонент для Дельфи" - на радиорынке когда-то 90 руб. стоил . ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 19:24 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
fkthatskyANAjenya7, возьмите за правило свойства один раз дёргать: Вообще, бест практис, даже у МС описанный в дезигн лайбрарис гайдлайн, или как там биш его, это делать только свойства которые во-первых идемпотентны, во вторых которые можно вызывать повторно без удара по производительности (либо оно само быстрое, либо кешируется где-то). Но, вот, выходит, что они сами этому не всегда следуют. Взять хотя бы тот самый DateTime.Now, который по-хорошему должен был бы быть DateTime.GetNow(). Дык чтобы прийти к таким практикам, надо сначала сделать в туевой хуче мест иначе, огрести с этим проблем и прийти к выводам, что "бест практис" - это делать иначе. При этом туеву хучу мест никто рефакторить не будет. Так что лучше взять за правило свойства один раз дёргать ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 19:33 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
jenya7, Мне просто любопытно, что за задача, если поиск строки в массиве требует показа прогресса? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 19:36 |
|
Посчитать сколько раз строка встречается в массиве строк
|
|||
---|---|---|---|
#18+
Cat2jenya7, Мне просто любопытно, что за задача, если поиск строки в массиве требует показа прогресса? чисто визуально это удобно. кроме того может быть 50 000 000 строк, так что подождать все таки придеться. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2019, 08:03 |
|
|
start [/forum/topic.php?fid=20&msg=39808965&tid=1398959]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
143ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 274ms |
0 / 0 |