View Single Post
  #9  
Old 02-05-2004, 11:48 PM
smogo
Discordant
 
Join Date: Jan 2004
Location: 47
Posts: 339
Default

as for the profiler, here is an exeirpt of profiler output (gprof)

Code:
Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls   s/call   s/call  name    
 64.00   1237.48  1237.48 14718573     0.00     0.00  EntityList::AICheckCloseArrgo(Mob*, float, float)
 11.85   1466.65   229.17 3970091636     0.00     0.00  LinkedListIterator<Mob*>::Advance()
  5.73   1577.41   110.76 3985303690     0.00     0.00  LinkedListIterator<Mob*>::MoreElements()
  2.92   1633.95    56.54 1261006787     0.00     0.00  Timer::Check(bool)
  2.21   1676.74    42.79 128348838     0.00     0.00  Mob::AI_Process()
  1.84   1712.26    35.51 128348838     0.00     0.00  NPC::Process()
  1.43   1739.93    27.68      344     0.08     0.08  LinkedListIterator<Mob*>::RemoveCurrent(bool)
  1.38   1766.52    26.59 3970146525     0.00     0.00  LinkedListIterator<Mob*>::GetData()
  0.92   1784.30    17.78 65021129     0.00     0.00  NPC::GetFactionCon(Mob*)
  0.90   1801.78    17.48 128348838     0.00     0.00  Mob::SpellProcess()
  0.76   1816.52    14.73 65021473     0.00     0.00  Mob::IsInvisible(Mob*)
...
you can get the full file (incluing call graph) and more examples at :
http://perso.wanadoo.fr/afou/khalzed...qzone.gmon.out
http://perso.wanadoo.fr/afou/khalzed...qzone.gmon.out
http://perso.wanadoo.fr/afou/khalzed...qzone.gmon.out
http://perso.wanadoo.fr/afou/khalzed...dzone.gmon.out
http://perso.wanadoo.fr/afou/khalzed...dzone.gmon.out

or all in a pack :
http://perso.wanadoo.fr/afou/khalzed...e-files.tar.gz

These are short runs, with one player if any.

If you don't bother to read, caching as it is now gives cpu load a rough 50% down, depending on the zone (AICheckCloseArrgo cumulated accounts for between 60-70% of non-cached version, divided by 10 or so in the cached version).

'm not sure about the oddity of a hash or vector class, instead of inline manipulation

'don't know about bounding boxes extensions. It's like making a function recursive to non recursive, or vice-versa. It's always possible, but .. i'll work in it afterwards
Reply With Quote