2012-02-18 16 views
7

Si necesito un script que se ejecute con el mínimo esfuerzo del sistema, ¿cuál elegiría?VBS vs PowerShell: ¿Qué es más ligero?

Al observar los procesos en el Administrador de tareas:

memoria (conjunto de trabajo privado)
wscript.exe 2,068K
powershell.exe 33,144K

Gracias.

Respuesta

33

Aquí se está llevando a cabo una conservación del trabajo principal. Si la máquina hace menos trabajo, entonces debe hacer más trabajo. Si la máquina hace más trabajo, debe hacer menos trabajo.

Nuestra filosofía con PowerShell era que el recurso más importante era el tiempo y la atención del administrador, por lo que gastamos los recursos de la máquina para ofrecer la mejor experiencia posible. Entonces, si está buscando la huella más liviana posible en la máquina, debe codificarla en 'C'. C++ es más pesado que eso y VBS es aún más pesado, y C# es aún más pesado, y son más livianos que PowerShell. Por supuesto, cada uno también requiere más esfuerzo para producir una solución que PowerShell.

Por lo tanto, al final del día, lo que termina es un continuo de opciones y lo que tiene que hacer es decidir cuál es la herramienta adecuada para el problema en cuestión. Entendimos eso desde el principio, así que diseñamos PowerShell para proporcionar una ruta de planeo suave a C# => C++ => C. Esto le permite comenzar con PowerShell y, si es demasiado pesado, puede hacer la transición a otro idioma sin tener que volver a empezar desde cero como lo hace con PERL => C.

+1

OMG! Una respuesta de Jeffrey Snover. +1 por crear el lenguaje que tanto amo :-) –

+1

¿Fue intencional el "más pesado"? Tal vez "aún más pesado" transmitiría la misma idea sin sonar un poco incómodo? – R0MANARMY

3

Esto claramente depende de lo que necesita el script para hacer. Existen grandes diferencias en las capacidades entre PowerShell y vbscript. PowerShell puede aprovechar la mayoría de las capacidades del framework .NET donde vbs no puede. Entonces, hay algunas muchas cosas que simplemente no podrá hacer con VBS.

Si el script necesita hacer algo que ambos puedan lograr, normalmente puede lograr lo mismo en PowerShell en muchas menos líneas de código que hacen que el script sea más fácil de mantener y distribuir. A veces, lo que toma 10-50 líneas de VBS se puede lograr escribiendo una única línea de PowerShell en el shell.

Entonces, ¿por qué necesita peso ligero? ¿El hecho de que VBS pueda sacarle un poco de memoria con menos memoria pesan los beneficios de PowerShell de los que hablé anteriormente? PowerShell lo hará más productivo y le permitirá lograr más debido a sus potentes capacidades y le tomará menos tiempo y esfuerzo hacerlo.

Cuestiones relacionadas