Я разрабатываю и поддерживаю инструмент .NET 3.5 на работе, и мне интересно, можно ли получить потенциальный выигрыш в производительности с помощью нового TPL .NET 4 или даже новых асинхронных функций, которые все еще находятся в CTP.
Работу инструмента можно приблизительно описать следующим образом:
- Получить список файлов-контейнеров (в настоящее время .MSI-файлов) - несколько десятков из них, ~ 50-70
- Выполните итерацию по каждому файлу и создайте объект времени выполнения, представляющий его.
- Для каждого созданного объекта среды выполнения выполните несколько запросов к его содержимому (сравните его содержимое с некоторыми файлами в системе).
Пункты № 2 и № 3 - длинные, и я хотел бы получить некоторые мнения о потенциале улучшения времени выполнения (которое сейчас составляет несколько минут) с использованием Parallel.ForEach или других методов для выполнения этой работы.Параллельно.
Потенциальные улучшения, которые я ожидаю:
Использование нескольких процессоров / ядер. Поддержание работы приложения во время работы ввода-вывода.дополнения (например, чтение файлов) выполняются для того, чтобы заняться чем-то другим.
Не могли бы вы подумать, что это приложение может быть полезным, прежде чем приступить к разработке?