bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Building a set of static, profile GNUstep libs (almost there, so close)


From: Michael Hanni
Subject: Building a set of static, profile GNUstep libs (almost there, so close)
Date: Mon, 21 Apr 2003 15:44:45 -0700 (PDT)

Hi,

I finally got all the libraries to compile profile, static, debug and I even
got gpbs to link and give profiling information. However, this information may
be screwed up or just plain wrong -- I'm still trying to chase the loose ends.

Anyways, a little of the profile for gpbs:

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 16.67      0.06     0.06                             hash_string
 13.89      0.11     0.05                             __sel_register_typed_name
 13.89      0.16     0.05                             strcmp
  8.33      0.19     0.03                             class_table_get_safe
  8.33      0.22     0.03                             hash_value_for_key
  5.56      0.24     0.02                             hash_delete
  2.78      0.25     0.01       65     0.15     0.15 
_i_GSCString__getCharacters_range_
  2.78      0.26     0.01        1    10.00    10.00 
_i_NSCharNumber__initWithCoder_
  2.78      0.27     0.01                             __objc_thread_id
  2.78      0.28     0.01                            
__pthread_internal_tsd_get
  2.78      0.29     0.01                             __pthread_unlock  
  2.78      0.30     0.01                             _int_malloc 
  2.78      0.31     0.01                             hash_add
  2.78      0.32     0.01                             memcpy
[...]
  0.00      0.36     0.00      317     0.00     0.00  NSDefaultMallocZone
  0.00      0.36     0.00      263     0.00     0.00 
NSDecrementExtraRefCountWasZero
  0.00      0.36     0.00      263     0.00     0.00  _i_NSObject__release
  0.00      0.36     0.00      261     0.00     0.00  NSIncrementExtraRefCount
  0.00      0.36     0.00      261     0.00     0.00  _i_NSObject__retain
  0.00      0.36     0.00      249     0.00     0.00  default_malloc
  0.00      0.36     0.00      226     0.00     0.00  GSObjCClass
  0.00      0.36     0.00      219     0.00     0.00  GSObjCZone
  0.00      0.36     0.00      204     0.00     0.00  GSDebugAllocationAdd
  0.00      0.36     0.00      204     0.00     0.00  NSAllocateObject
  0.00      0.36     0.00      204     0.00     0.00  NSZoneMalloc
  0.00      0.36     0.00      186     0.00     0.00 
_c_NSString__allocWithZone_
  0.00      0.36     0.00      186     0.00     0.00 
_i_GSPlaceholderString__initWithCString_length_
[...]
  0.00      0.36     0.00        1     0.00     9.84  _gnu_process_args
[...]
  0.00      0.36     0.00        1     0.00     0.00 
_i_NSLayoutManager__textStorage_edited_range_changeInLength_invalid$
[..., NSRulerView, weird?]
  0.00      0.36     0.00        1     0.00     0.00 
_i_NSRulerMarker__initWithCoder_
  0.00      0.36     0.00        1     0.00     0.00  _i_NSRulerView__dealloc

Anyhow, there are quite a few -gui classes in play when you fire up gpbs
according to this profile run -- I'm not sure if it all makes sense, but... :-)

So, gpbs can be run and gives some -- reliable or not -- profiling data. Alas,
anything that has to initialize the backend dies saying it can not find the
backend context. I've compiled -back as a library and it links with all its
libraries just fine. I can use "nm" and see that it has all the right symbols,
but after I compile it into an application all those symbols disappear (thus
the backend context can not be found.)

Is there some "nm" magic or "ld" voodoo I can do to see where my symbols are
going? If I could just get past this last obstacle I could profile the hell out
of things.

I'd appreciate any insights!

Michael

=====





reply via email to

[Prev in Thread] Current Thread [Next in Thread]