Hacker News new | past | comments | ask | show | jobs | submit login

Congrats !

If anyone is interested in the clearlinux optimized zstd build config ( imho it is useful for the 1.5.5 building )

https://github.com/clearlinux-pkgs/zstd/blob/main/zstd.spec

( CFLAGS, 4 patch )




What's stopping those 4 patches from being upstreamed?

What advantages or disadvantages am I getting from them?


When a distro maintains patches, it's mostly down to either:

* Change default value for some parameters, that can't be upstream due to compatibility reasons.

* Change build flag / macro for optimization and/or workaround compiler bugs.


Looking at it it seems to require avx2. And use the "m" mode for fopen(), which I have no idea what it does, it's not in any documentation I can find.


From my fopen(2) docs:

m (since glibc 2.3)

Attempt to access the file using mmap(2), rather than I/O system calls (read(2), write(2)). Currently, use of mmap(2) is attempted only for a file opened for reading.


I'm very skeptical that this actually makes things faster. For one, zstd is definitely going to be CPU bound rather than I/O bound. But even if it wasn't, there shouldn't be a performance benefit to reading a file sequentially using mmap compared to reading it sequentially using read, which you can easily verify yourself by writing a small program that just reads files both ways.


I think for clear linux, it might be for memory saving in constraint devices rather than for speed optimization.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: