RE: [GD-General] Faster and faster
Brought to you by:
vexxed72
From: Bryan W. <br...@xm...> - 2004-07-25 23:16:47
|
Short answer: Speed is usually pretty good, but the only way to be = certain on YOUR app is to test it yourself. Of course, on an xGHz machine, the CPU = isn't usually my bottleneck. =20 Longer responses below. =20 =20 -----Original Message----- From: gam...@li... [mailto:gam...@li...] On Behalf Of = CAVEY GERARD Sent: Thursday, July 22, 2004 8:19 AM To: 'gam...@li...' Subject: [GD-General] Faster and faster Hi I would like hear someone s experience about INTEL compilers=20 performance when targetting AMD cpus, without using SSE/SSE2.=20 There have been several cross-CPU comparisons of compiled code, usually = of specific benchmark programs (see Google). Sometimes one compiler wins, sometimes another. DDJ had an article (1-2 years ago) comparing Intel 7, = GCC 3.2 or 3.3, VC6, 7, and 7.1 against a few others, but it wasn't = cross-CPU. =20 =20 It has been my experience that the VC 7.1 compiler and the Intel = compilers (any recent version) produce great code, although a few passes through = the Intel compiler for profile-guided compiles usually tends to do (for me) = a better job than the VC7.1 compiler; but it takes a long time to compile. = I cannot recommend the older VC compilers, 7.0 or (shudder) 6.0. =20 I've also used Metrowerks compilers, and in one instance where = performance made a big difference, we released multiple binaries targeting various = CPUs. Let the install program figure out which to install. Is it good enough ?=20 I feel that the performance is 'good enough' in my cases. Usually (but = not always) the differences are visible in my performance metric with little = or no perceived difference to me. =20 But you're writing a game. Every one of them is different. =20 =20 You probably have your own performance metric built in. Try it out for yourself, and look at the performance. Only you can decide it the = performance is good enough, in your own specific program. =20 While some key functions (dot ,cross products ,matrices maths...) can = be written by hand , i would like to relay on a good compiler for the other things.=20 The Intel Small Matrix Library (I believe it is freely available) has a = very good C++ implementation of matrix and vector math. You might want to = look into it. =20 Since you are targeting AMD specifically, you should also test against = the Metrowerks compiler. Assuming your code compiles cleanly already, it shouldn't be too hard to switch compilers. If it doesn't compile = cleanly, you could be in for a hard time when changing compilers. In either event, = you should go out and test them specifically on your own program. It = shouldn't take more than two days, assuming your code compiles cleanly to begin = with. If it doesn't, the flood of error messages will be helpful, since it = will help you estimate how much time to add to the schedule in code cleanup. To save you five minutes, here are the URLs: Intel 30-day trial: http://www.intel.com/software/products/compilers/cwin/eval.htm=20 Metrowerks 15-day trial: http://www.metrowerks.com/MW/download/request.asp?action=3Ddl <http://www.metrowerks.com/MW/download/request.asp?action=3Ddl&product=3D= CWWin9> &product=3DCWWin9 bryanw. |