Performance data for ggv



Hi All,

Please find attached the performance report for GGV.

The forte profiling tools and Rational quantify were used to collect the
performance data.
Similar to the previous performance reports, we have detailed only the top few
functions. Please do ping us in case you require additional data / information.

Regards
Anand & Muktha

Title:
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
 
 
Sl. No. Data Collected Pointer to Data
1
er_print callers-callees data Gunzipped Text File (41 KB)
2
er_print leaks data (for the top 500 leaks) [1] Gunzipped Text File (49 KB)

 

3.1.2 Quantify Data
 
 
Sl. No. Data description Pointer to Data
1
Functions list Gunzipped Text File (39 KB)
2
Export File Gunzipped Text File (345 KB)
3
Annotated source files for the top five expensive functions - g_type_value_table_peek (54 KB)

[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.



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