Welcome to Our Website

빠른 히:항목을 추가한 배열과 성능에 모

나는 일부 의견에 최근 성능 비교와 문서는 잘 받고 저도 작성 일부 이상의 유사한 기사입니다. 따라서 더 이상 고민하지 않고 배열에 항목을 추가하고 성능면에서 어떤 접근 방식이 더 나은지 살펴보기 시작할 수 있습니다.

일반적으로,가장 일반적인 접근 방식을 보고에 항목을 추가하는 배열에 PowerShell 의 사용을 통해 연산자.,

 $a = @()$a += 'data'$a$a += 'test'$a

나를 먼저 초기화의 배열을,그렇지 않으면 나도 추가 텍스트가 대신으로 처리할을 연결하는 텍스트하지 않은,무엇이 내가 찾는 것이 예입니다. 내가 말했듯이,이것은 내가 보는 일반적인 접근법이지만,반드시 가장 빠른 접근법입니까? 글쎄,대답은’아니오’입니다.

ArrayList 를 사용하여

더 나은 성능에 대한 대답은 ArrayList 의 사용에 있습니다. 당신이 PowerShell 에서 더 나은 성능을 얻기와 함께 점점 더 볼 수 있듯이,당신은 일반적으로 일부를 사용하는쪽으로 이동을 볼 수 있습니다.,실제 PowerShell 명령 또는 연산자를 사용하여 수행 할 수있는 유사한 작업을 수행하는 net 인스턴스. 그래서 뭔가를했다는 것 위에 수행 할 수 있습이 다음과 같습니다.

 $a = New-Object System.Collections.ArrayList$a.Add('data')$a.Add('test')$a

0 1 당신이 볼되는 출력은 각 시간을 추가하는 항목의 색인을 나타냅는 항목이 추가됨으로 컬렉션입니다. 따라서’데이터’가 0 인덱스에 추가되고’테스트’가 1 인덱스에 추가되었습니다. 이것은 내 의견으로는 꽤 성 가실 수 있으며 파이프 라인을 오염시키고 바람직하지 않은 결과를 가져올 수 있습니다. 데이터가 널 위치로 전송되는지 확인하여이 문제를 해결할 수 있습니다.,

우리 앞에 설정된 항목 모음을 만드는 두 가지 옵션이 있지만 다음 질문은 어느 것이 가장 빠릅니까? 알아 보자!

나는 ArrayList 가 매번 이겼다 고 말하는 것이 아닙니다… 각 컬렉션에 추가 된 총 항목 수가 증가함에 따라+=가 끝 부분에 다소 극적으로 증가하는 각 접근법에 대한 시간도 증가했습니다. 무슨 일이 일어나고 있는 연산자는 그것을 실제로 구축 밖으로 새로운 배열을 각 시간 연산자를 사용할 수 있도록 추가로 새로운 항목을의 컬렉션입니다., 정확하게 효율적이지는 않지만 일을 끝내게됩니다. ArrayList 접근 방식을 사용하면 항목을 컬렉션에 바로 추가 할 수 있으므로 찾을 수 없습니다.

으로 이러한 유형의 어떠한 성능 테스트 저는 단순하 극단적인 유형의 상황에서,그래서 당신이 절대적으로 원하는 짜는 가능한 모든 밀리초의 PowerShell,당신은 확실히 보고 싶어 ArrayList 접근 방식이다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다