|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
Есть 2 набора элементов со строками, которые надо сравнить на нечёткое совпадение. Внешний цикл foreach крутится на маленьком наборе (пара сотен элементов) и для каждого из них вызывает внутренний foreach для большего набора (сотня тысяч элементов). Для производительности есть ли разница какой из этих циклов внешний, а какой внутренний? Также интересует можно ли тут использовать параллельную обработку в разных потоках, т.е. запустить во внешнем цикле новый поток на каждый внутренний цикл который перемалывает сотню тысяч элементов, насколько это поможет? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 13:18 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
1) Разницы никакой 2) Можно ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 13:33 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
fkthat 1) Разницы никакой Это зависит от частоты досрочного выхода из внутреннего цикла. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 13:55 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Это зависит от частоты досрочного выхода из внутреннего цикла. Это может зависеть вообще от кучи всего, но я имел в виду самую тупую ситуацию Код: c# 1. 2. 3. 4. 5. 6. 7.
Модератор: Тема перенесена из форума "Программирование". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:18 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
не можно, а нужно. Я не знаю, существуют еще или нет 1 ядерные компы, если только виртуалки, следовательно не использовать все ядра, это бабки на ветер ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 16:27 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
love_bach Разница есть на уровне промаха кэша проца Ну тут уже вообще особо не проконтролируешь - CLR-ный JIT-компилер может даже просто на двух разных системах с одной платформой сгенерить из IL два разных екзешника. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 18:04 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
fkthat, только JIT не EXE-шники компилирует, а сразу код выполнения, но суть понятна ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2020, 11:30 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
Кнюпель запустить во внешнем цикле новый поток на каждый внутренний цикл который перемалывает сотню тысяч элементов https://github.com/dotnet/BenchmarkDotNet Кнюпель насколько это поможет? так вы проверьте :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2020, 20:46 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
Roman Mejtes fkthat, только JIT не EXE-шники компилирует, а сразу код выполнения, но суть понятна Ну, смотря что считать "EXE-шником". Сборка .NET в IL это тоже, можно сказать, "EXE-шник", потому что имеет PE-формат. В данном случае я имел в виду "исполняемый машинный код". :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2020, 00:45 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
[quot Кнюпель#22172295]Есть 2 набора элементов со строками, которые надо сравнить на нечёткое совпадение.[ /quot] А как вы сравнивать собираетесь? От этого многое зависит. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2020, 09:57 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
Кнюпель, Насколько нечеткое сравнение? Насколько данные отсортированы? Требуется получить прирост производительности путём перехода на параллельную обработку? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2020, 11:39 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
fkthat love_bach Разница есть на уровне промаха кэша проца Ну тут уже вообще особо не проконтролируешь - CLR-ный JIT-компилер может даже просто на двух разных системах с одной платформой сгенерить из IL два разных екзешника. Думаешь он смотрит, если на проце конкретный подходящий набор инструкций и если есть, использует их? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 11:24 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
ЕвгенийВ Думаешь он смотрит, если на проце конкретный подходящий набор инструкций и если есть, использует их? Если верить Рихтеру, то да, CLR умеет оптимизировать выполняемый код под хост (CPU и т.п.) в котором он запускается. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 11:34 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
ЕвгенийВ fkthat пропущено... Ну тут уже вообще особо не проконтролируешь - CLR-ный JIT-компилер может даже просто на двух разных системах с одной платформой сгенерить из IL два разных екзешника. Думаешь он смотрит, если на проце конкретный подходящий набор инструкций и если есть, использует их? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 11:41 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
Roman Mejtes, fkthat А нука напишите мне код на C# что бы в отладчике я мог наблюдать Intel® AVX2 инструкции? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 12:33 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
Чёт, я смотрю, по-бенчить никто не хочет... ванговать, оно конечно интереснее ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 16:35 |
|
Сравнение элементов в циклах с#
|
|||
---|---|---|---|
#18+
Кнюпель которые надо сравнить на нечёткое совпадение Что такое нечёткое совпадение? Кнюпель Внешний цикл foreach крутится на маленьком наборе (пара сотен элементов) и для каждого из них вызывает внутренний foreach для большего набора (сотня тысяч элементов). Самая хреновая реализация, кмк. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2020, 10:18 |
|
|
start [/forum/topic.php?fid=20&msg=39983879&tid=1398502]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 141ms |
0 / 0 |