|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Ускорение обработки |
|
PowerShell - Ускорение обработки
|
Пользователь Сообщения: 102 |
Доброго времени суток!
Есть рабочий код. кусок
#-->Заполнение 1 листа (координаты) if ($DocVers -eq "09") { $Row = $s1.Range("A65536").End(-4162).Row + 1 $oXmlDocument.KPT.CadastralBlocks.CadastralBlock.Parcels.Parcel |` ForEach-Object -Process { $CadNumUch = $_.CadastralNumber $_.EntitySpatial.SpatialElement.SpelementUnit |` ForEach-Object -Process { # Заполняем $s1.Cells.Item($Row,1) = $CadNumUch $s1.Cells.Item($Row,2) = $($_.SuNmb) $s1.Cells.Item($Row,3) = $($_.Ordinate.X -replace "\.",",") $s1.Cells.Item($Row,4) = $($_.Ordinate.Y -replace "\.",",") $s1.Cells.Item($Row,5) = $($_.Ordinate.DeltaGeopoint -replace "\.",",") $Row++ } } } из XML берутся сведения и заполняются в Excel. Но так как данных бывает много, то обработка длится весьма продолжительное время (бывает и 10 минут и 15 и 20) Возможно ли как то ускорить процесс или хоть приделать прогресс-бар какой? |
|
Отправлено: 08:22, 13-04-2017 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата firstarey:
Что было сделано: 1. Пятилетний компьютер был заменён на современный с процессором i5 — но только это такого прироста не дало бы. 2. В качестве винчестера установлен SSD. Поскольку операция связана со множественным чтением и записью файлов, в т.ч. временных — это дало основное ускорение. |
|
------- Отправлено: 10:17, 13-04-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Цитата mwz:
1. компьютер с SSD, процессор AMD FX-8320E, памяти 8 гб. 2. файл обрабатывается 1, находиться на сервере (не на этом компьютере) Вопрос именно в том как оптимизировать процесс чтения и записи в PS? у меня сейчас код "читает xml-пишет xlsx" и так по кругу, а значений много. Может, если сначала поймать все нужные значения и только потом их записать в ексель, будет прирост производительности ? |
|
Отправлено: 11:22, 13-04-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата firstarey:
1. Сделайте в начале окно приложения-сервера Automation (в данном случае — Excel) невидимым (по куску Вашего «рабочего кода» нельзя судить). Под конец обработки делаете его видимым (если нужно, конечно). 2. Вместо того, чтобы гонять сервер Automation в хвост и гриву, раз за разом тупо проходя по всей иерархии объектов вниз: Цитата:
Цитата firstarey:
Цитата firstarey:
Цитата firstarey:
|
|||||
Отправлено: 12:43, 13-04-2017 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Ускорение интернета | Pasha_prof_1985 | Сетевые технологии | 3 | 21-10-2014 13:55 | |
Устройст800о обработки изображений | tobolak | Поиск драйверов, прошивок и руководств | 2 | 16-11-2013 10:57 | |
Ускорение приложений | ElemenTall | Непонятные проблемы с Железом | 4 | 27-11-2009 11:33 | |
Прочее - Ускорение Linux | RasKolbas | Общий по Linux | 7 | 18-11-2009 07:33 | |
Ускорение винта?? | KILLOR666 | Хочу все знать | 1 | 15-05-2005 09:56 |
|