powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сравнение элементов в циклах с#
18 сообщений из 18, страница 1 из 1
Сравнение элементов в циклах с#
    #39983068
Кнюпель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть 2 набора элементов со строками, которые надо сравнить на нечёткое совпадение. Внешний цикл foreach крутится на маленьком наборе (пара сотен элементов) и для каждого из них вызывает внутренний foreach для большего набора (сотня тысяч элементов). Для производительности есть ли разница какой из этих циклов внешний, а какой внутренний? Также интересует можно ли тут использовать параллельную обработку в разных потоках, т.е. запустить во внешнем цикле новый поток на каждый внутренний цикл который перемалывает сотню тысяч элементов, насколько это поможет?
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983087
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Разницы никакой
2) Можно
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983098
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
1) Разницы никакой

Это зависит от частоты досрочного выхода из внутреннего цикла.
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983154
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Это зависит от частоты досрочного выхода из внутреннего цикла.

Это может зависеть вообще от кучи всего, но я имел в виду самую тупую ситуацию
Код: c#
1.
2.
3.
4.
5.
6.
7.
foreach(var x in xx) 
{
    foreach(var y in yy)
    {
        // делаем что-то и вообще никуда не выходим
    }
}



Модератор: Тема перенесена из форума "Программирование".
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983220
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не можно, а нужно. Я не знаю, существуют еще или нет 1 ядерные компы, если только виртуалки, следовательно не использовать все ядра, это бабки на ветер
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983255
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
1) Разницы никакой
2) Можно


Разница есть на уровне промаха кэша проца
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983271
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach
Разница есть на уровне промаха кэша проца

Ну тут уже вообще особо не проконтролируешь - CLR-ный JIT-компилер может даже просто на двух разных системах с одной платформой сгенерить из IL два разных екзешника.
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983535
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

только JIT не EXE-шники компилирует, а сразу код выполнения, но суть понятна
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983809
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кнюпель
запустить во внешнем цикле новый поток на каждый внутренний цикл который перемалывает сотню тысяч элементов


https://github.com/dotnet/BenchmarkDotNet


Кнюпель
насколько это поможет?


так вы проверьте :)
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983850
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
fkthat,

только JIT не EXE-шники компилирует, а сразу код выполнения, но суть понятна

Ну, смотря что считать "EXE-шником". Сборка .NET в IL это тоже, можно сказать, "EXE-шник", потому что имеет PE-формат. В данном случае я имел в виду "исполняемый машинный код". :)
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983879
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Кнюпель#22172295]Есть 2 набора элементов со строками, которые надо сравнить на нечёткое совпадение.[ /quot]
А как вы сравнивать собираетесь? От этого многое зависит.
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39983887
L.Otujktd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кнюпель,

Насколько нечеткое сравнение? Насколько данные отсортированы?
Требуется получить прирост производительности путём перехода на параллельную обработку?
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39984276
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
love_bach
Разница есть на уровне промаха кэша проца

Ну тут уже вообще особо не проконтролируешь - CLR-ный JIT-компилер может даже просто на двух разных системах с одной платформой сгенерить из IL два разных екзешника.

Думаешь он смотрит, если на проце конкретный подходящий набор инструкций и если есть, использует их?
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39984281
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
Думаешь он смотрит, если на проце конкретный подходящий набор инструкций и если есть, использует их?

Если верить Рихтеру, то да, CLR умеет оптимизировать выполняемый код под хост (CPU и т.п.) в котором он запускается.
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39984287
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
fkthat
пропущено...

Ну тут уже вообще особо не проконтролируешь - CLR-ный JIT-компилер может даже просто на двух разных системах с одной платформой сгенерить из IL два разных екзешника.

Думаешь он смотрит, если на проце конкретный подходящий набор инструкций и если есть, использует их?
Именно так и работает. Для того и городили все эти CLR и JIT-компиляторы.
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39984304
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes, fkthat
А нука напишите мне код на C# что бы в отладчике я мог наблюдать Intel® AVX2 инструкции?
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39984404
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чёт, я смотрю, по-бенчить никто не хочет...

ванговать, оно конечно интереснее
...
Рейтинг: 0 / 0
Сравнение элементов в циклах с#
    #39984583
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кнюпель
которые надо сравнить на нечёткое совпадение

Что такое нечёткое совпадение?

Кнюпель
Внешний цикл foreach крутится на маленьком наборе (пара сотен элементов) и для каждого из них вызывает внутренний foreach для большего набора (сотня тысяч элементов).

Самая хреновая реализация, кмк.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сравнение элементов в циклах с#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]