barrett777 / Heroes.ReplayParser

A C# library for parsing Heroes of the Storm replay files (.StormReplay)
MIT License
223 stars 95 forks source link

Added BZip2 and Zlib compression code to project #59

Closed koliva8245 closed 6 years ago

koliva8245 commented 6 years ago

Added BZip2 and Zlib compression code to MpqTool project. Removed SharpZibLib dependency.

Both these compressions libraries are from dotnetzip and are much faster than SharpZibLib.

barrett777 commented 6 years ago

Thanks for putting this together :) I'll try to look into it this weekend

Did you compare these libraries for extracting replay files?

When I Google the two, my first impressions are that some users think dotnetzip is faster for compression, but it doesn't seem to really matter for extracting files

I'll try it out locally either way and see if it's a noticeable improvement

koliva8245 commented 6 years ago

Yes, I parsed through 100 of my latest replays. It took about ~54 seconds for sharpziplib while it took only ~32 seconds for dotnetzip.

On Wed, Oct 11, 2017 at 9:41 AM, Ben Barrett notifications@github.com wrote:

Thanks for putting this together :) I'll try to look into it this weekend

Did you compare these libraries for extracting replay files?

When I Google the two, my first impressions are that some users think dotnetzip is faster for compression, but it doesn't seem to really matter for extracting files

I'll try it out locally either way and see if it's a noticeable improvement

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/barrett777/Heroes.ReplayParser/pull/59#issuecomment-335833891, or mute the thread https://github.com/notifications/unsubscribe-auth/AIko6uO-9L3QKUYMdqY-MsTEza93fzLbks5srNOsgaJpZM4P02Ik .

barrett777 commented 6 years ago

That would be delightful! I'll try it out soon

barrett777 commented 6 years ago

This is good :) Though I'll add it in a separate commit, just using a NuGet package

I personally see ~20% faster replay parsing, which is really great for such low effort

koliva8245 commented 6 years ago

The reason I added the code files to the project instead of a Nuget package was because dotnetzip is not compatible with .netstandard. By adding the nuget packge, it breaks the .netstandard solution.

On Wed, Oct 11, 2017 at 10:54 PM, Ben Barrett notifications@github.com wrote:

This is good :) Though I'll add it in a separate commit, just using a NuGet package

I personally see ~20% faster replay parsing, which is really great for such low effort

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/barrett777/Heroes.ReplayParser/pull/59#issuecomment-336013674, or mute the thread https://github.com/notifications/unsubscribe-auth/AIko6h353XcvYKk5j2aLDEBI30VKzPiTks5srY17gaJpZM4P02Ik .

barrett777 commented 6 years ago

Ah I see. I'd rather not bring in all the files into this project though

The .netstandard project may just need to stick with SharpZipLib. Maybe the DotNetZip NuGet will support .netstandard in the future

If this is important to you, you'll probably just need to keep these changes in a local branch

koliva8245 commented 6 years ago

I suppose so. I'll fix up the .netstandard solution later if you haven't by then.

On Thu, Oct 12, 2017 at 12:01 PM, Ben Barrett notifications@github.com wrote:

Ah I see. I'd rather not bring in all the files into this project though

The .netstandard project may just need to stick with SharpZipLib. Maybe the DotNetZip NuGet will support .netstandard in the future

If this is important to you, you'll probably just need to keep these changes in a local branch

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/barrett777/Heroes.ReplayParser/pull/59#issuecomment-336200443, or mute the thread https://github.com/notifications/unsubscribe-auth/AIko6kZ_C69UEpTMrfjnybyLag2i5CPlks5srkXWgaJpZM4P02Ik .