Самое первое, что вам нужно сделать, это указать какой-либо инструмент для профилирования на ваше программное обеспечение. Если вы не можете этого сделать (например, если у вас нет такого инструмента), вставьте код регистрации.
Самое первое, что вам нужно сделать, это выяснить, что занимает много времени, чтобы закончить, а затем почему является он занимает много времени, чтобы закончить. То, что ваша операция «копирование» в целом длится достаточно долго, недостаточно хороша, вам нужно указать причину этого на метод или набор методов.
Пока вы этого не сделаете, все, что вы можете сделать с вашим кодом, скорее всего, будет догадкой. Мой опыт научил меня, что, когда дело доходит до производительности, 9 из 10 причин для медленных действий - это неожиданность для парня, написавшего код.
Итак, сначала измерьте сначала, затем измените.
Например, вы можете обнаружить, что на самом деле вы сообщаете о ходе копирования файла по байтам на байт, в графический интерфейс, используя синхронный вызов в пользовательский интерфейс, и в этом случае он не будет важно, как быстро может выполняться фактическое копирование, вы все равно будете связаны скоростью обработки сообщений.
Но это только догадка, пока вы не знаете, поэтому сначала измерьте, а затем измените.
Вы профилировали это, чтобы определить, почему это занимает больше времени, чем ожидалось? – 2009-12-04 18:53:38
roygbiv - это на самом деле - нет точки многопоточности, если вы максимизируете пропускную способность диска или сети, и поэтому он занимает так много времени. Выясните, почему это так медленно, а не делает случайное, корректирующее действие. – Michael
Как отмечают ройгбив и Майкл, вам нужно сделать некоторый анализ, чтобы вы не оптимизировали неправильные вещи. Сколько из 5-10 минут - процессор против дискового ввода/вывода против сетевого трафика. Может ли компрессия помочь? Существуют ли задачи, которые могут выполняться параллельно? Является ли ваше приложение в основном ожидающим веб-службы? Даже некоторые довольно простые следовые высказывания должны давать некоторые полезные замечания. –