|
|
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
Есть 2 набора элементов со строками, которые надо сравнить на нечёткое совпадение. Внешний цикл foreach крутится на маленьком наборе (пара сотен элементов) и для каждого из них вызывает внутренний foreach для большего набора (сотня тысяч элементов). Для производительности есть ли разница какой из этих циклов внешний, а какой внутренний? Также интересует можно ли тут использовать параллельную обработку в разных потоках, т.е. запустить во внешнем цикле новый поток на каждый внутренний цикл который перемалывает сотню тысяч элементов, насколько это поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 13:18:44 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
1) Разницы никакой 2) Можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 13:33:19 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
fkthat 1) Разницы никакой Это зависит от частоты досрочного выхода из внутреннего цикла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 13:55:04 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Это зависит от частоты досрочного выхода из внутреннего цикла. Это может зависеть вообще от кучи всего, но я имел в виду самую тупую ситуацию Код: c# 1. 2. 3. 4. 5. 6. 7. Модератор: Тема перенесена из форума "Программирование". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 15:18:35 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
не можно, а нужно. Я не знаю, существуют еще или нет 1 ядерные компы, если только виртуалки, следовательно не использовать все ядра, это бабки на ветер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 16:27:26 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 17:32:59 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
love_bach Разница есть на уровне промаха кэша проца Ну тут уже вообще особо не проконтролируешь - CLR-ный JIT-компилер может даже просто на двух разных системах с одной платформой сгенерить из IL два разных екзешника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 18:04:48 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
fkthat, только JIT не EXE-шники компилирует, а сразу код выполнения, но суть понятна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2020, 11:30:22 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
Кнюпель запустить во внешнем цикле новый поток на каждый внутренний цикл который перемалывает сотню тысяч элементов https://github.com/dotnet/BenchmarkDotNet Кнюпель насколько это поможет? так вы проверьте :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2020, 20:46:40 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
Roman Mejtes fkthat, только JIT не EXE-шники компилирует, а сразу код выполнения, но суть понятна Ну, смотря что считать "EXE-шником". Сборка .NET в IL это тоже, можно сказать, "EXE-шник", потому что имеет PE-формат. В данном случае я имел в виду "исполняемый машинный код". :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 00:45:58 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
[quot Кнюпель#22172295]Есть 2 набора элементов со строками, которые надо сравнить на нечёткое совпадение.[ /quot] А как вы сравнивать собираетесь? От этого многое зависит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 09:57:13 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
Кнюпель, Насколько нечеткое сравнение? Насколько данные отсортированы? Требуется получить прирост производительности путём перехода на параллельную обработку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 11:39:45 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
fkthat love_bach Разница есть на уровне промаха кэша проца Ну тут уже вообще особо не проконтролируешь - CLR-ный JIT-компилер может даже просто на двух разных системах с одной платформой сгенерить из IL два разных екзешника. Думаешь он смотрит, если на проце конкретный подходящий набор инструкций и если есть, использует их? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 11:24:30 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВ Думаешь он смотрит, если на проце конкретный подходящий набор инструкций и если есть, использует их? Если верить Рихтеру, то да, CLR умеет оптимизировать выполняемый код под хост (CPU и т.п.) в котором он запускается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 11:34:45 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВ fkthat пропущено... Ну тут уже вообще особо не проконтролируешь - CLR-ный JIT-компилер может даже просто на двух разных системах с одной платформой сгенерить из IL два разных екзешника. Думаешь он смотрит, если на проце конкретный подходящий набор инструкций и если есть, использует их? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 11:41:49 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
Roman Mejtes, fkthat А нука напишите мне код на C# что бы в отладчике я мог наблюдать Intel® AVX2 инструкции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 12:33:29 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
Чёт, я смотрю, по-бенчить никто не хочет... ванговать, оно конечно интереснее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 16:35:43 |
|
||
|
Сравнение элементов в циклах с#
|
|||
|---|---|---|---|
|
#18+
Кнюпель которые надо сравнить на нечёткое совпадение Что такое нечёткое совпадение? Кнюпель Внешний цикл foreach крутится на маленьком наборе (пара сотен элементов) и для каждого из них вызывает внутренний foreach для большего набора (сотня тысяч элементов). Самая хреновая реализация, кмк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2020, 10:18:59 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=39984304&tid=1398502]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
201ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 188ms |
| total: | 502ms |

| 0 / 0 |
