Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] Zagadka kryptograficzna dla programisty

To: winnt@man.lodz.pl
Subject: Re: [WINNT] Zagadka kryptograficzna dla programisty
From: "Grzegorz Niemirowski" <gnthexfiles@poczta.onet.pl>
Date: Mon, 15 Apr 2019 22:13:26 +0200
Andrzej P. Wozniak <uszer@poczta.onet.pl.invalid> napisał(a):
Jaki system, jaka wersja Powershell, jaki dysk?

[System.Environment]::OSVersion.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
10     0      17763  0

$PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      17763  316

Dysk nie ma znaczenia. System ma o tyle znaczenie, że na XP można mieć maksymalnie PS 2.0.

Pod Windows XP, Powershell 1.0 (6.0.6002.18111),

To jest PowerShell 2.0.

dysk SATA III, wychodzi tempo jakieś 25 KiB/s, obciążenie jednego rdzenia na 100%. Podejrzewam
brak  (sensownego) buforowania operacji, podobnie jak to jest w
Notatniku (też w  XP) przy wykonywaniu operacji „Zamień wszystkie”.

(ls .\c0cf9e91444e0cd6b19a918ac47decd3.mp3).Length / (Measure-Command { .\Untitled1.ps1 .\c0cf9e91444e0cd6b19a918ac47decd3.mp3 out.mp3 }).Milliseconds
5044,5249343832

U mnie wychodzi więc 5 MB/s. Różnica bierze się stąd, że w PowerShellu 2.0 skrypty są interpretowane. Od wersji 3 drzewo abstract syntax tree kompilowane jest do wyrażeń LINQ a następnie do bajtkodu. Dodatkowo pętla kompilowana jest za pomocą JIT do kodu maszynowego. Stąd jest bardzo duża różnica w szybkości między PS 2 a nowszymi.

--
Grzegorz Niemirowski
https://www.grzegorz.net/

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>