News for hackers. Stuff that matters.
Re:Optimizing matrix multiplication in C by gpderetta on Monday August 29, 2016 @05:50AM (#12380944)
> Apparently, the main reason for your results — GCC optimizer ain’t good.

while that could be the case, it does not follow from your results; you need to compare GCC and MSVC directly. It might rather be that MSVC is not capable to optimize Eigen enough to give it a larger advantage over SSE+tiling.

From experience MSVC is less capable of aggressive abstraction elimination (the bread and butter of Eigen) than GCC.

Re:Optimizing matrix multiplication in C by Const-me on Tuesday August 30, 2016 @03:08AM (#12388081)
OK, did that. Results for GCC are very close to the OP’s results for Xeon.

GCC indeed did better optimization of Eigen than MSVC. Specifically, about 25% better. I think that might be because authors of Eigen have very intimate knowledge on GCC’s optimizer, and somehow specifically optimized their code for GCC compiler.

However, for the rest of the test cases, MSVC performed much better. For example, for Transposed algorithm, MSVC result is 3.5 times faster - huge difference.