Производительность PowerShell

Jul 18, 2022 10:16



Слушайте, почему встроенные в шелл объекты данных имеют такую жуткую производительность?

Вот создал я динамиццкий массив:

$array = @()

И после этого я добавляю в него записи:

$array += $record

Как только количество записей в нём становится более примерно двух тысяч, оно начинает просто ДИЧАЙШЕ тормозить. measure-command говорит, что на каждую операцию уходит аж до 10 миллисекунд! Что, кажется быстро? Создать массив из 50 тысяч записей (по современным меркам - это вообще ни о чём) потребует почти десяти минут времени.

Хорошо хоть, что шелл умеет в использование дотнетовских объектов:

$array = [System.Collections.ArrayList]::new()

После чего $array.Add($record) на 50 килозаписей улетает по трубам процессора просто со свистом.

Но чрезвычайно низкая производительность встроенных структур данных, прямо скажем, удивила. Я, конечно, не ожидал производительности Джавы, но как-то оно тово, удручает.

Mirrored from
Лабораторный Журнал №6

rss2lj

программирование, чесать репу, непонять

Previous post Next post
Up