RE: Faster and faster

CAVEY GERARD <[email protected]> Mon, 26 Jul 2004 10:15:51 +0200
Newsgroups gmane.games.devel.general
Message-ID <71A291D8E360AF4EA6FFFAF9CAD136CA0146FA49@FR-MAILBOX2.fr.sgam.socgen>
Thanks for your answer Brian
 
>It has been my experience that the VC 7.1 compiler and the Intel compilers
(any recent version) produce >great code
 
I agree vc7.1 is giving us good results , and if rumors are true visual
studio 2005 (still beta) is even better.
 
>on an xGHz machine, the CPU isn't usually my bottleneck
 
Well you re lucky.Assuming you re working on a "modern game "The maths
running on CPU for IA pathfinding plus bones hierarchy concatenation plus
physics (mainly) is often expensive...
Correct me if i m wrong but most of us are limited because of the CPU .The
GPU 
is almost never 100% used  (in terms of geometry quantity).
 
>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.
 
Thanks , it seems a good alternative to D3DX maths lib .With the original
AMD CPUs not supporting SSE and intel CPUs not supporting 3d now , the code
path becomes more and more complex ...
Writing assembly today is really too heavy :(
 
GC.
 
 -----Message d'origine-----
De : Bryan Wagstaff [mailto:[email protected]]
Envoye : lundi 26 juillet 2004 01:16
A : [email protected]
Objet : RE: [GD-General] Faster and faster


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.
 
Longer responses below.
 
 
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of CAVEY
GERARD
Sent: Thursday, July 22, 2004 8:19 AM
To: '[email protected]'
Subject: [GD-General] Faster and faster


Hi
I would like hear someone s experience about INTEL compilers 
performance when targetting AMD cpus, without using SSE/SSE2. 

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.  
 
, 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.
 
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 ? 
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.
 
But you're writing a game.  Every one of them is different.  
 
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.

 
 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. 
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.
 
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
<http://www.intel.com/software/products/compilers/cwin/eval.htm>  
Metrowerks 15-day trial:
http://www.metrowerks.com/MW/download/request.asp?action=dl
<http://www.metrowerks.com/MW/download/request.asp?action=dl&product=CWWin9>
&product=CWWin9
bryanw.


*************************************************************************
Ce message et toutes les pieces jointes (ci-apres le "message") sont
confidentiels et etablis a l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisee est interdite. 
Tout message electronique est susceptible d'alteration. 
SG Asset Management et ses filiales declinent toute responsabilite au titre
de ce message s'il a ete altere, deforme ou falsifie.

Decouvrez l'offre et les services de SG Asset Management sur le site
www.sgam.fr 

				********

This message and any attachments (the "message") are confidential and
intended solely for the addressees.
Any unauthorised use or dissemination is prohibited. 
E-mails are susceptible to alteration.   
Neither SG Asset Management nor any of its subsidiaries or affiliates shall
be liable for the message if altered, changed or falsified. 

*************************************************************************