|
Forsooth!
#SupportHeForShe
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
In what way ? did you forget to build in RELEASE, it is a widely known fact that the DEBUG code is really slow.
Do you have particular instances where it differs that much ?
I'd rather be phishing!
|
|
|
|
|
Maximilien wrote: it is a widely known fact that the DEBUG code is really slow.
Jeremy Falcon
|
|
|
|
|
Not only I used release as base, but also configured a lot of optimizations to gain more speed...
On old 32 bit CPU the result is more than 200%
On newer 32 bit CPU it is about 160%
On 8 core i7 it is still 140%
The problem is that I can not tell the compiler to use the most sophisticated command sets the CPU has and can help my (not really mine, but I'm learning it) code (intensive calculations)
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Do you know how well gcc compares to icc, just out of curiosity?
Jeremy Falcon
|
|
|
|
|
I didn't do test of my own with icc, but what I saw from others gcc a bit faster (2%-4%) but not always...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Cool. Just curious. Thanks.
Jeremy Falcon
|
|
|
|
|
In 2012, I did extensive testing with icc. It was consistently faster than other compilers except for a few times when it was a total fail, which made it not worth it. I haven't even bothered to see how C++14/17 compliant it's become since.
|
|
|
|
|
Cool. I remember hearing that too, but since I've never used it, it's nice to hear it from folks that have.
Jeremy Falcon
|
|
|
|
|
It has AVX2 support, surely you have nothing newer than that?
edit: i7 doesn't mean anything by the way. That's just marketing numerology.
|
|
|
|
|
And I turned on that one with no result I can see... On gcc I used sse3 flag and it made the code fly... using sse2 on VC++ had no effect whatsoever...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Auto vectorisation is unreliable. In GCC too.
Even if it gets better it still shouldn't be relied on, because it's too easy to accidentally cause a performance regression (making a trivial change can devectorize a whole loop).
|
|
|
|
|
I do not rely on, but use it and check it...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Sure. Don't be so disappointed then. It's just a free extra, for code that doesn't matter but it can't hurt to have it be a little faster. It shouldn't make any real difference unless the code is broken. Anything that matters already uses intrinsics anyway.
|
|
|
|
|
VC++ is a fine compiler - maybe you havent messed with any other.
Search for some useful additional library like Boost. I read that some Intel or AMD code is available.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
I work extensively with VC++, GCC and Clang. Before GCC 6.x was released, I found that VC++ had a clear lead and that both were better than Clang. Right now, it's about even with Clang still trailing (what happened to those guys?)
(EDIT: one big improvement Microsoft is allegedly working on is to massively speed up streams, but that's a standard library implementation. Hopefully, other standard library implementers will follow suit.)
modified 21-Sep-16 18:38pm.
|
|
|
|
|
You probably talking about the compilation time... I'm about the performance of the result...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
I'm talking about the entire thing, including performance of compiled code and C++11/14/17 conformance. In contrast, it's extremely clear that you are focusing on a tiny subset of performance in extremely specific circumstances.
|
|
|
|
|
Yes. I'm talking about compiling the best chess engine (not mine to be sure) on Windows using VC++ vs GCC... The GCC beats VC++ with no mercy...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
I'd look at your algorithms and settings. There are places where the standard library being used makes a huge difference. Another thing to check is code optimized for a specific compiler. I have some code that is highly optimized for SSE 4.2 on VC++. I will be adding intrinsic support to GCC soon, but until then, the algorithm runs 80% faster with VC++ code.
I have programs that have VC++ trouncing GCC and Clang. Others showing GCC and Clang in first. All in all, I find that Clang tends to run fastest. In the past, ICC outpaced them all, though it had some quirks and occasionally completely fell on its face (it was unreliable enough that i couldn't recommend it at the time.)
I was a big fan of Clang until earlier this year when I found both GCC and VC++ exceeding it with C++14/1z support and a serious bug we encountered in Clang. Again, all three varied in performance, depending on what was being tested and on what platform with none being the absolute best across the board.
|
|
|
|
|
You need a real C/C++ compiler.
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
|
|
|
|
|
From VS2008 compiler been up there with the others. The IDE just went downhill after VS2008 but looks like they are bringing the usable icons back (at last)!
Microsoft do listen - You just have to shout very loud and for a very long time!
|
|
|
|
|
VS 2012 was the low point for me. VS 2015 is great, though still needs some work in the color department. Good news is that they really are working on it.
|
|
|
|
|
Yes - even got a survey from Microsoft today asking to choose which new' sets of icons are preferred!
|
|
|
|
|
Wasn't that annoying? One side would have, say, three great icons, the other side two, with the rest terrible. Great choice there.
|
|
|
|