On Fri Dec 2 15:47:41 2022 +0000, Nikolay Sivov wrote:
Did you measure the performance difference? Or checked if generated code is any different, especially for the second patch. I looks like forced inlining might have the same effect, if it's not inlined already automatically.
The performance improvement is quite significant:
Running Times on Linux 64 bit:
Native (Windows gdiplus.dll) * 500 Matrix Scaling time (seconds): 0.84s * 700 Matrix Multipling time (seconds): 1.22s
Wine gdiplus.dll without optimizations: * 500 Matrix Scaling time (seconds): 0.28s * 700 Matrix Multipling time (seconds): 0.35s
Wine gdiplus.dll with optimizations: * 500 Matrix Scaling time (seconds): 0.13s * 700 Matrix Multipling time (seconds): 0.17s
Application which I am using for testing: [gdiplusdisplay.exe](/uploads/c5c790eaef4824c2125d56b95714b05e/gdiplusdisplay.exe)