Adam Stylinski
Adam Stylinski
One thing I'm sure of is that GCC and clang ignore the alignment hints, at least when compiling on Linux.
> You have several differences in flags there. > > I don't think -DWITH_NATIVE_INSTRUCTIONS=ON does what you think it does. It is the same as -mtune=native, so it binds the...
Another thing it could also be is a bug in MinGW inducing the AVX->SSE transition penalty a lot. I think I've seen that before, too.
If it is the transition penalty, a new version of the minGW might have fixed it. If you're seeing that a lot, perf has a way to count how often...
Did you have a profiler available to maybe see which functions are on the hot path? I assume you built without the native option too, right? I don't think native...
The calling Delphi is unlikely to be the issue but it wouldn't surprise me if libspng somehow was slower when compiled with 64 bit. I don't know anything about the...
Looking at their source code, it uses C intrinsics so it's likely compiling the SIMD vectorized compression filters. However, it is compiling explicitly with SSE. GCC and MSVC should be...
_Another_ thing you could also try is compiling libspng with -mavx2. This will still compile all the SSE intrinsics but it will use vex encoding, eliminating the need to call...
That's fairly normal, x86 is used for both 32 bit and 64 bit code. It seems likely that the code is dispatching to the SSE* accelerated functions. Are you sure...
It's a bit difficult without visibility into the running process. Profiler tools of some sort would help immensely, here. In particular it'd tell us right off the bat which functions...