Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Superbuild with ITK ZLIB module? #1481

Closed
cookpa opened this issue Jan 10, 2023 · 10 comments · Fixed by #1484
Closed

Superbuild with ITK ZLIB module? #1481

cookpa opened this issue Jan 10, 2023 · 10 comments · Fixed by #1484

Comments

@cookpa
Copy link
Member

cookpa commented Jan 10, 2023

Hi @stnava @ntustison @gdevenyi and other interested developers,

I am trying to build native Windows binaries, and had to find a solution for zlib. We've required system zlib for a long time, but ITK now has an updated zlib module based on zlib-ng.

Is there any reason why we would want to continue using system zlib?

If not, I'll try to use ITK's version consistently, and will test compression performance on image I/O.

@gdevenyi
Copy link
Contributor

zlib-ng is superior in every way I know of

  • hardware-accel
  • improved algorithms
  • code testing
  • modern build support

I see no reason not to switch to it exclusively.

@dorianps
Copy link
Collaborator

dorianps commented Jan 10, 2023 via email

@cookpa
Copy link
Member Author

cookpa commented Jan 11, 2023

Hi @dorianps , might you be able to try out the Windows binaries here?

https://github.com/cookpa/ANTs/releases/tag/testActions-0.1

I built the same source on Mac and it compiles OK, but I don't see a performance gain in I/O speed vs my system (zlib 1.2.11). Are there any use cases you or @gdevenyi know of where zlib-ng might perform better? Just curious, either way I still think it's a good thing to use ITK's version for multiple reasons outlined above.

@cookpa
Copy link
Member Author

cookpa commented Jan 11, 2023

BTW the test I did was simply reading a largeish (104x104x72x478) image (.nii.gz) with ImageMath and then writing it back out in either .nii.gz or .mha format.

@gdevenyi
Copy link
Contributor

I think the zlib-ng performance is "statistical", in the sense its in the low-percentage range right now. ZLIB has already had many optimizations done over the years. I also know that not all the hardware-acceleration features have been merged yet. We should also check the current state of the build config for ITK to ensure its both optimized and generic for distribution purposes.

@dorianps
Copy link
Collaborator

dorianps commented Jan 11, 2023 via email

@cookpa
Copy link
Member Author

cookpa commented Jan 11, 2023

Thanks, sorry for mixing streams @dorianps - just I was more wanting to test basic functionality of the Windows binaries, something like does antsRegistration.exe work for a somple test case.

ZLIB was kind of a means to an end, I'm not looking to do extensive benchmarking.

@dorianps
Copy link
Collaborator

dorianps commented Jan 11, 2023 via email

@cookpa
Copy link
Member Author

cookpa commented Jan 12, 2023

I'm not sure I can even write a command in powershell (recent experience suggests not), but it occurs to me that I could try to run the built-in short tests - I'll try that first. Thanks!

@dorianps
Copy link
Collaborator

dorianps commented Jan 12, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants