>> But since contemporary processors are SSSE3-capable it makes more sense >> to benchmark *older* processors when evaluating integer-only >> optimizations. > > You're right (except the K10, which hasn't SSSE3),
That's why I mentioned Opteron. I mean I see no reason to believe that improvement would be very different on K10 vs. Opteron, and provided that there is virtually no improvement on the latter, loss on other non-SSSE3 platforms outweighs in favour of current code. > the main goal is to > use this code in SSSE3 code path. > > >> How do you measure on i5? Specifically if so called Turbo Boost is off >> or on? And if on, do you compensate for it? I mean 4.9 does sound >> impressive, but at the same time it sounds too good > > You're right again. I measured my code with Turbo Boost on using RDTSC. > Without Turbo it gives 5.6 cpb, and it's however a little bit faster > than OpenSSL implementation (361 vs 367 clocks for full block). > It means the optimization still exist, and I think there should be more > gain if this code is used in OpenSSL SSSE3 codepath (I use completely > different SSSE3 code generation that is possibly less effective). Not necessarily. Out-of-order execution logic can be forgiving (and current Intel out-of-order logic *is* forgiving enough) in sense that different sequences, even ones considered "less effective", can be executed equally fast. Sometimes it's more about sheer amount of u-ops than specific sequence of machine codes, and this case is very much like this. Indication is that increase of u-ops on Sandy Bridge reflects decrease in performance rather closely... Having said that one can go on and argue that it makes as much sense to optimize instruction sequence for in-order-execution core, because that's where it matters, out-of-order will manage anyway. And the thing is that current instruction sequence is optimized for ... Atom with elements of scheduling for slower SIMD unit. I.e. current code path is not really "optimized" for Intel Core, so what is "less effective"? ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
