Closed ayousuf23 closed 2 years ago
What are the benefits of c# vs ps?
What are the benefits of c# vs ps?
The main benefit is performance, which has been an issue for the archive module.
Where exactly is the perf problem? I very much doubt that the problem was in PowerShell Engine.
Where exactly is the perf problem? I very much doubt that the problem was in PowerShell Engine.
Mainly compressing and expanding archives would take a long time. Although we are limited by the .NET APIs, rewriting the module in C# reduces overhead.
I'd split the PR on some ones:
I have to step out soon. I'll try to get through all unresolved conversations.
PR Summary
This PR includes code for the preview 1 release of the Microsoft.PowerShell.Archive v2.0.0 module.
This PR is a rewrite if the
Compress-Archive
cmdlet in C# (previously, it was written in PowerShell Script). It has support for creating, updating, and overwriting archives. As of now, only zip and zip64 are supported (the .NET APIs for zip and zip64 are the same).The PR has support for preserving path structure in relative paths. It also has a
-Format
parameter which can used to specify the format of the archive. As of now,-Format
has only one option:-Format zip
. When additional formats are supported by the module in preview 3, the-Format
parameter will be more useful by providing options for tar and compressed tar.An abstraction was created for archives -- the
IArchive
interface -- so new archive formats can be added to the module easily.To update an archive, use the
-WriteMode Update
parameter. To overwrite an archive, use the-WriteMode Overwrite
parameter.For more information regarding behavior of the parameters, please see the RFC #117.
PR Context
To keep the PowerShell/Microsoft.PowerShell.Archive repository up to date with preview 1 code.