7zip download full
If you have reduced upload bandwidth usually having reduced size of artifacts is the top one priority.īut I have a real strange report from developer tesam, if they manually create the archive, they are not able to get an archive that is less than 78 MB in size. So I have a 2150% increase in time with a relative reduction of size of 32.9 comparing to level 1. The real gain in size happens at compression level 9, where I have an archive that is 9.2% of the original size, but I need 74.5 seconds to run. With an increment in running time of 1088% with a small reduction of size of generated archive, it is clear that in my situation using compression level 1 is far better than level 7. Mx=9-> 74693 ms file size 78668370 global reduction of 09.2% relative increase in compression time 2150.1% vs relative reduction 32.9%Īs you can see level 1 need 3.4 seconds to run and produces an archive that is 27.8% of the original space, increasing the compression level to 7 needs 38 seconds to run but we have not a great reduction in size (21.5% vs 27.8%). Mx=7-> 37825 ms file size 184362620 global reduction of 21.5% relative increase in compression time 1088.8% vs relative reduction 77.1% Mx=5-> 18973 ms file size 189873288 global reduction of 22.1% relative increase in compression time 546.1% vs relative reduction 79.4% Mx=3-> 4383 ms file size 228246178 global reduction of 26.6% relative increase in compression time 126.2% vs relative reduction 95.4% Mx=1-> 3474 ms file size 239133911 global reduction of 27.8% relative increase in compression time 100.0% vs relative reduction 100.0% Here is the result of standard 7zip command line where I changed only the compression level (-mx option) The script is really stupid, it just try to compress the aforementioned folder using various compression level (1, 3, 5, 7, 9) with different options ti dumps reduction in size and time needed to archive the folder. I started creating a small PowerShell test script that you can find in this Gist.
7zip download full zip#
In such scenario standard zip format does not stand a chance against 7zip, but even 7zip has a lot of options you need to consider to find the sweet spot. The goal is having not high execution time (not using maximum compression if does not give real advantage) but having small artifacts to minimize upload time or server space if you have TFS on premise. When you create lots of pipelines / GitHub actions speed of execution and size of artifacts can make a big difference. In this project I started to have strange behavior, **Azure DevOps pipeline produces a 7zip file of 36 MB (I told you that 7zip is exceptional) but some developer started asking me **what option I’ve used because they tried locally with latest version of 7zip but they got at least a 76MB archive, not 36MB **.
7zip download full full#
I have lots of PowerShell helpers written that automatically download 7za.exe version 9.20 and use it to compress folder, never felt the need to resort to full 7zip.exe even if I know that probably it will give me better result because it is a more recent version.
I usually use a really old version of 7za.ext (version 9.20) in my PowerShell script for convenience In that scenario I use a full PowerShell build script that organize all the services in a folder, then compress all 860 MB of data in a 7zip archive that will be uploaded by subsequent actions as artifact in the pipeline result. In a pipeline we have in AzureDevops we have a grand total of roughly 860 MB of dll, most of them duplicated because are shared reference used by many services. I can use 7zip tool to reduce archive size much more than a single zip.I’m able to create different archives based on specific semantics (one archive for web app, one for services, one for angular UI etc).Even if you can download everything as a zip, I like to create different archives before uploading, for at least two reasons AzureDevops Pipeilne and GitHub actions have dedicated actions to upload artifacts to the result of the pipeline/action but I often do not like this approach. Even if 7zip is not a real DevOps argument, it is really interesting in the context of a build pipeline and artifacts publishing.