goto-bus-stop / setup-zig

use a @ziglang compiler in your github actions workflows
Other
147 stars 19 forks source link

use 7z for zip extraction on Windows #57

Closed marler8997 closed 2 months ago

marler8997 commented 1 year ago

I was investigating performance of zip extraction on windows (see https://github.com/marler8997/zigup/pull/95) and found 7z to be around 2 to 4 times faster than the builtin methods on Windows (i.e. .NET/powershell). I started a repository to build 7z.exe and published the binary that was built within it's GitHub action (https://github.com/marler8997/7-Zip/releases/tag/23.0.1).

To verify the performance gain I used this repository as a benchmark. With this change, extraction takes between 20 to 70 seconds, whereas without it, it takes around 1 to 2 minutes. It seems to be consistent with my other testing which shows 7z to be about 2 to 4 times faster.

I'm sending you this PR if you're interested in using it, however, feel free to close this PR as "too complicated/not worth the extra code". The performance benefit also only applies when the cache hasn't been populated.

marler8997 commented 2 months ago

According to my testing, the default zip extractions seems to be pretty fast now? So this is no longer necessary.