Table of contents
TOC
Recolher sumário
Expandir sumário

Melhorias ao Mecanismo do PowerShell

KeithB|Última Atualização: 13/12/2016
|
2 Colaboradores

As seguintes melhorias ao mecanismo principal do PowerShell foram implementadas no WMF 5.1:

Desempenho

O desempenho melhorou em algumas áreas importantes:

  • Inicialização
  • O pipelining para cmdlets como ForEach-Object e Where-Object é aproximadamente 50% mais rápido

Alguns exemplos de melhorias (os resultados podem variar dependendo do hardware):

CenárioTempo de 5,0 (ms)Tempo de 5,1 (ms)
powershell -command "echo 1"900250
Primeira execução do PowerShell: powershell -command "Unknown-Command"3000013000
Built do cache de análise de comando: powershell -command "Unknown-Command"7000520
1..1000000 | % { }1400750

Observação: uma alteração relacionada à inicialização pode afetar alguns cenários sem suporte. O PowerShell não lê mais os arquivos $pshome\*.ps1xml – esses arquivos foram convertidos para C# para evitar sobrecarga de arquivo e CPU do processamento dos arquivos XML. Os arquivos ainda existem para dar suporte à V2 lado a lado; portanto, se você alterar o conteúdo do arquivo, ele não terá qualquer efeito na V5, apenas na V2. Observe que alterar os conteúdos desses arquivos nunca foi um cenário com suporte.

Outra alteração visível é como o PowerShell armazena em cache os comandos exportados e outras informações para módulos instalados em um sistema. Antes, esse cache era armazenado no diretório $env:LOCALAPPDATA\Microsoft\Windows\PowerShell\CommandAnalysis. No WMF 5.1, o cache é um único arquivo $env:LOCALAPPDATA\Microsoft\Windows\PowerShell\ModuleAnalysisCache. Veja Cache de análise do módulo para obter mais detalhes.

© 2017 Microsoft