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

library size? #422

Closed
lulcat opened this issue Aug 23, 2024 · 5 comments
Closed

library size? #422

lulcat opened this issue Aug 23, 2024 · 5 comments

Comments

@lulcat
Copy link

lulcat commented Aug 23, 2024

Hi, this is just a question.. I been using a static lib with the C sources from 1.5.2 which here clocks out at 80kB ,
whereas 1.5.4 just released is clocking in 94kB, 14kB wow, that's a big addition? What has changed? I see avx512 instructions to be the main culprit I suppose. what does 1.5.4 do better for this size increase?

I use avx512 but I don't think I see much perf differences to justify such a big size increase? Of course it's relative, I'm not fussed on the desktop but technically, this is rather large in embedded scenarios. 18%ish size increase..

@oconnor663
Copy link
Member

It's the optimized XOF implementation: #418

In theory the input and output sides could share the same kernel (at least in the assembly versions, not too sure about intrinsics), but right now the kernel is duplicated. @sneves what do you think the long term prospects there?

@BurningEnlightenment
Copy link
Collaborator

this is rather large in embedded scenarios.

Embedded scenarios with a x86_64 cpu? 🤨 However, I suppose one could offer an additional switch for AVX-512 given its low prevalance.

@lulcat
Copy link
Author

lulcat commented Aug 25, 2024

Ye good point Burning. For the record.. I didn't mean to make this like "Oh gosh" more than just wanted to point out a notiecable difference in the library size, as this can be a thing. I just don't know where I could point it out beyond here, in 'issues' :)

@lulcat lulcat closed this as completed Aug 25, 2024
@oconnor663
Copy link
Member

Totally reasonable!

@sneves
Copy link
Collaborator

sneves commented Aug 26, 2024

@sneves what do you think the long term prospects there?

The AVX-512 kernels can (and will) be reduced to 1/3-1/2 their current size with minimal performance impact. Sharing actual routines between them might be doable but I'm not sure it's that much of a win.
The other kernels may also be reducible but I'm less sure about the performance impact.

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

No branches or pull requests

4 participants