GGV Performance Data Summary Report
(version 1.0)
1. Component Summary
Name of the Component |
GGV |
QA Contact |
muktha narayan wipro com,
anand subra wipro com |
Test Setup |
Config Parameter |
Forte Setup |
Quantify Setup |
Hardware Details |
Sparc Ultra 10, 333 Mhz, 1 CPU |
Sparc Enterprise 250, 200 Mhz, 2 CPU |
Memory |
128 MB |
1024 MB |
Operating system |
Solaris 9, 64 Bit |
Solaris 8, 64 Bit |
|
Build Details |
Source Code Location |
CVS |
CVS Branch |
gnome-2-0 |
CVS Checkout Time Stamp |
Forte |
Quantify |
Tue Oct 01 13:26:01 BST 2002 |
Thu Oct 03 01:29:16 2002 |
Compiler (Version Infomation) |
Forte |
|
Performance Utilities Used |
Quantify |
qv
|
Forte |
collect
er_print
|
Other Tools/Scripts |
- |
|
Total. No. Of tests Run |
1 |
2. Brief Description of
Tests Done to Collect Performance Data
Test No. |
Test synopsis |
GGV_01 |
Invoked GGV from the command prompt, opened a 2 MB PDF
file (Gnome's user-guide.pdf file) and closed the application using File/Exit,
after the PDF document had loaded completely. |
3. Data
2.1 Test: Background_01
As per the quantify data collected, the first
five functions which consumed the maximum percentage of the total execution
time, have been considered for the analysis.
The forte leaks data showed a total of 800KB leak when a 2 MB PDF file
was loaded.
Function Name |
Caller |
Callees |
Quantify Details |
Forte Details |
lookup_type_node_I |
g_type_register_dynamic
type_data_ref_Wm
type_data_last_unref_Wm
type_data_finalize_class_U
g_type_interface_add_prerequisite
g_type_qname
g_type_set_qdata
type_iface_vtable_init_Wm
g_type_register_fundamental
g_type_depth
g_type_get_qdata
g_type_add_interface_static
check_add_interface_L
type_data_make_W
g_type_register_static
check_derivation_I
check_type_info_I
g_type_class_peek_parent
g_type_interfaces
g_type_check_class_is_a
type_class_init_Wm
g_type_name
g_type_interface_peek
g_type_class_peek
g_type_test_flags
type_node_fundamental_info_I
g_type_parent
g_type_free_instance
g_type_fundamental
g_type_class_unref
g_type_class_ref
g_type_create_instance
g_type_check_instance
g_type_check_class_cast
g_type_is_a
g_type_value_table_peek
type_check_is_value_type_U
g_type_check_instance_cast
g_type_check_instance_is_a |
None |
Called: 1902681 times
Function time: 67017968 cycles ( 8.83%
of .root.)
Function+descendants time: 67017968 cycles ( 8.83% of .root.) |
Exclusive time: 0.280 secs
Inclusive time: 0.280 secs
Attributed time: 0.280 secs |
type_node_check_conformities_UorL |
type_node_is_a_L
type_node_conforms_to_U |
None |
Called: 671368 times
Function time: 54873386 cycles ( 7.23%
of .root.)
Function+descendants time: 56020753 cycles ( 7.38% of .root.) |
Exclusive time: 0.150 secs
Inclusive time: 0.150 secs
Attributed time: 0.150 secs |
g_type_check_instance_cast |
gdk_x11_gc_set_values
_gdk_x11_gc_flush
gdk_event_translate
gdk_x11_draw_glyphs
get_size_groups
gnome_canvas_request_redraw
gtk_container_destroy
gtk_menu_item_forall
gtk_object_get_data_by_id
gtk_widget_propagate_hierarchy_changed_recurse gtk_widget_real_unmap
gtk_widget_set_parent
impl_bonobo_ui_sync_menu_state _gdk_window_destroy_hierarchy
_gdk_window_process_expose
bonobo_socket_size_request
bonobo_ui_sync_do_show_hide
do_size_request
draw_or_measure_label_text
fm_icon_view_compare_files
g_param_spec_int
gdk_check_xpending
get_docked_item_by_name
get_icon_info
gtk_bin_remove
gtk_container_add
gtk_container_get_resize_container gtk_container_propagate_expose
gtk_container_remove
gtk_frame_forall
gtk_grab_notify_foreach
gtk_hpaned_size_request
gtk_image_clear
gtk_image_menu_item_forall
gtk_label_destroy
gtk_object_init
gtk_object_set_data_by_id
gtk_selection_target_list_remove
gtk_vbox_size_allocate
gtk_widget_dispose
gtk_widget_finalize
gtk_widget_get_extension_events
gtk_widget_get_pango_context
gtk_widget_propagate_state
gtk_widget_real_get_accessible
gtk_widget_reset_rc_style
gtk_widget_send_expose
impl_bonobo_ui_sync_menu_get_widgets pango_fontset_simple_get_font
real_queue_resize
size_allocate_helper
widget_new_accel_closure
gtk_object_dispose
gtk_signal_emit |
type_node_conforms_to_U lookup_type_node_I |
Called: 286943 times
Function time: 37876476 cycles ( 4.99%
of .root.)
Function+descendants time: 95451369 cycles ( 12.58% of .root.)
|
Exclusive time: 0.150 secs
Inclusive time: 0.250 secs
Attributed time: 0.150 secs |
type_node_conforms_to_U |
g_type_check_class_is_a g_type_check_class_cast
g_type_is_a
g_type_check_instance_cast
g_type_check_instance_is_a |
type_node_check_conformities_UorL |
Called: 671362 times
Function time: 32896738 cycles ( 4.34%
of .root.)
Function+descendants time: 88916740 cycles ( 11.72% of .root.) |
Exclusive time: 0.060 secs
Inclusive time: 0.210 secs
Attributed time: 0.060 secs |
decode_mcu |
g_object_ref
gdk_x11_get_screen
gtk_object_get_data_by_id
_gtk_style_peek_property_value
bonobo_ui_sync_build
bonobo_ui_sync_ignore_widget
g_object_freeze_notify
g_object_get_qdata
g_object_thaw_notify
g_object_unref
gdk_colormap_get_visual
gdk_draw_line
gdk_draw_points
gdk_screen_get_root_window
gtk_accel_label_set_accel_widget
gtk_label_select_region_index
gtk_menu_motion_notify
gtk_signal_emit
gtk_widget_region_intersect
gtk_widget_reset_rc_style
gtk_widget_is_focus |
type_node_conforms_to_U
lookup_type_node_I |
Called: 295118 times
Function time: 32449254 cycles ( 4.28%
of .root.)
Function+descendants time: 92736507 cycles (12.22% of .root.) |
Exclusive time: 0.060 secs
Inclusive time: 0.270 secs
Attributed time: 0.060 secs |
3.1.1 Forte Collect Data
3.1.2 Quantify Data
[1] Due to huge sizes of the er_print data for leaks, the data
in the attached gunzipped files have been limited to the top 500 leaks
only. The complete leaks information is however available and can be provided,
if required.
4. Appendix
4.1 Forte data
Data is collected using the 'collect' and 'er_print' forte profiling
tools. Data can be collected using the 'collect'command.
All data can be converted into performance metrics computed against functions,
callers and callees of any functions, and against source and disassembly
of the target program. The 'er_print' command is used to get an ASCII output
of the performance metrics obtained from the 'collect' command.
Three types of function-level metrics can
be computed using the performance analysis tools:
Exclusive metrics: are calculated
from events which occur inside the function itself: they exclude metrics
coming from calls to other functions.
Inclusive metrics:
are
collected from events which occur inside the function and any functions
it calls: they include metrics coming from calls to other functions
Attributed metrics: are the parts
of the inclusive metric of the selected function that are due to calls
from a caller or calls to a callee.
Exclusive user CPU time
is the amount of time spent in the function itself, in seconds
Inclusive user CPU time is the amount of
time spent in the function itself and any functions it calls, in seconds
Callers-callees data: Prints the callers-callees panel for each
of the functions, in the order in which they are sorted. The selected (middle)
function is marked with an asterisk. The callers of the selected function
are shown above. The functions which the selected function calls are listed
below.
Leaks data: The ?Leaks? report shows what
memory has been leaked while the program was running.
4.2 Quantify data
Functions list:
Displays the list of function calls sorted by percentage of '.root'
Exports file:
Is the ASCII version of the quantify data. Elaborates on all the callers
of a particular function, the number of times the function was called,
propagated time, the function descendant time and many more metrics.
Annotated source:
Presents a line by line performance data using the functions source code.
|