Ethereal-dev: [Ethereal-dev] Profiling summary info for CygWin GTK2 build (after column patch)
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Biot Olivier <Olivier.Biot@xxxxxxxxxxx>
Date: Tue, 2 Dec 2003 10:45:44 +0100
Hi List, New profile information after the patches sent till 08:00 GMT. In general, the column patch seems to speed up things considerably, as filtering now takes about 20%-30% less time! | I've been performing some tests with the reference capture | http://www.ethereal.com/sample/netbench_1.cap | used by Richard Sharpe during his tests. | | I've executed the following test scenario: | 1. $ ./ethereal -r /path/to/netbench_1.cap | 2. Choose "frame" as display filter and hit ENTER (time this) | 3. Chose "Clear" button (time this) | 4. 6. 8. 10. Same as 2. | 5. 7. 9. Same as 3. | This way, I read the capture 10 times, 5 times without dfilter, | and 5 times with a dfilter where all frames match. | | I ran the scenario once with the attached color filters, once | without. The top-50 in both situations is shown below. If I | compare the results with the Native Win32 Ethereal 0.9.16 | release, then I see that both now run at the same speed. This | means that there is probably 50% performance increase between | the 0.9.16 build and the CVS snapshot of 8:00 GMT today! | | 1. No color filters: | ==================== | "clear": 10 seconds Now: 8 seconds (20% less!) | "frame": 17 seconds Now 13 seconds (30% less!) Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls s/call s/call name 5.04 1.18 1.18 10391321 0.00 0.00 alloc_field_info 3.89 2.09 0.91 proto_tree_free_node 3.63 2.94 0.85 10391321 0.00 0.00 proto_tree_add_node 3.54 3.77 0.83 14449632 0.00 0.00 compute_offset_length 3.20 4.52 0.75 9571139 0.00 0.00 proto_tree_add_pi 2.99 5.22 0.70 12282726 0.00 0.00 check_offset_length_no_exception 2.90 5.90 0.68 256392 0.00 0.00 dissect_tcp 2.65 6.52 0.62 10391542 0.00 0.00 fvalue_new 2.31 7.06 0.54 3791688 0.00 0.00 check_col 2.18 7.57 0.51 15203 0.00 0.00 proto_register_field_init 1.62 7.95 0.38 5355865 0.00 0.00 proto_tree_add_uint 1.49 8.30 0.35 11293368 0.00 0.00 ensure_contiguous 1.49 8.65 0.35 512784 0.00 0.00 in_cksum 1.45 8.99 0.34 11414388 0.00 0.00 ensure_contiguous_no_exception 1.41 9.32 0.33 1222008 0.00 0.00 call_dissector_work 1.37 9.64 0.32 256392 0.00 0.00 dissect_ip 1.24 9.93 0.29 1538400 0.00 0.00 ip_to_str_buf 1.20 10.21 0.28 1107480 0.00 0.00 col_append_fstr 1.07 10.46 0.25 7428983 0.00 0.00 proto_tree_set_uint 1.07 10.71 0.25 3818244 0.00 0.00 proto_tree_add_boolean 1.02 10.95 0.24 256392 0.00 0.00 dissect_frame 0.98 11.18 0.23 10451843 0.00 0.00 tvb_raw_offset 0.98 11.41 0.23 7941844 0.00 0.00 fvalue_set_integer 0.90 11.62 0.21 1342884 0.00 0.00 col_set_str 0.90 11.83 0.21 256392 0.00 0.00 dissect_eth_common 0.90 12.04 0.21 256368 0.00 0.00 add_packet_to_packet_list 0.90 12.25 0.21 256368 0.00 0.00 col_init 0.90 12.46 0.21 conversation_match_exact 0.85 12.66 0.20 1549872 0.00 0.00 proto_tree_add_item 0.85 12.86 0.20 121020 0.00 0.00 dissect_smb 0.81 13.05 0.19 10391321 0.00 0.00 tvb_get_ds_tvb 0.81 13.24 0.19 7429012 0.00 0.00 set_integer 0.81 13.43 0.19 11 0.02 1.60 rescan_packets 0.73 13.60 0.17 1025568 0.00 0.00 serv_name_lookup 0.73 13.77 0.17 512736 0.00 0.00 col_set_addr 0.68 13.93 0.16 830148 0.00 0.00 col_clear 0.64 14.08 0.15 1124730 0.00 0.00 tvb_free 0.64 14.23 0.15 256368 0.00 0.00 fill_in_columns 0.56 14.36 0.13 196440 0.00 0.00 dissect_nbss 0.56 14.49 0.13 396 0.00 0.00 proto_register_field_array 0.51 14.61 0.12 2893842 0.00 0.00 tvb_get_ptr 0.51 14.73 0.12 1538400 0.00 0.00 ip_to_str 0.51 14.85 0.12 1222008 0.00 0.00 call_dissector_through_handle 0.51 14.97 0.12 868338 0.00 0.00 add_to_used_in_list 0.51 15.09 0.12 256392 0.00 0.00 dissect_packet 0.51 15.21 0.12 128184 0.00 0.00 dfvm_apply 0.47 15.32 0.11 1464048 0.00 0.00 proto_is_protocol_enabled 0.43 15.42 0.10 565512 0.00 0.00 offset_from_real_beginning 0.43 15.52 0.10 conversation_hash_exact 0.38 15.61 0.09 4814589 0.00 0.00 int_fvalue_new 0.38 15.70 0.09 2686234 0.00 0.00 proto_get_protocol_short_name 0.38 15.79 0.09 1124730 0.00 0.00 tvb_init 0.38 15.88 0.09 965616 0.00 0.00 dissector_try_port | 2. Color filters: | ================= | "clear": 19 seconds Now: 15 seconds (20% less!) | "frame": 19 seconds Now: 15 seconds (20% less!) Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls s/call s/call name 5.79 1.94 1.94 proto_tree_free_node 5.67 3.84 1.90 17312017 0.00 0.00 alloc_field_info 4.21 5.25 1.41 17312017 0.00 0.00 proto_tree_add_node 3.67 6.48 1.23 17312241 0.00 0.00 fvalue_new 3.52 7.66 1.18 15662527 0.00 0.00 proto_tree_add_pi 2.95 8.65 0.99 2556780 0.00 0.00 dfvm_apply 2.54 9.50 0.85 213660 0.00 0.00 dissect_tcp 2.36 10.29 0.79 13050790 0.00 0.00 compute_offset_length 2.36 11.08 0.79 10866980 0.00 0.00 check_offset_length_no_exception 2.00 11.75 0.67 12375307 0.00 0.00 proto_tree_set_uint 1.88 12.38 0.63 7371967 0.00 0.00 proto_tree_add_uint 1.76 12.97 0.59 15203 0.00 0.00 proto_register_field_init 1.67 13.53 0.56 13229976 0.00 0.00 fvalue_set_integer 1.52 14.04 0.51 17412867 0.00 0.00 tvb_raw_offset 1.52 14.55 0.51 213660 0.00 0.00 dissect_ip 1.52 15.06 0.51 106820 0.00 0.00 dfilter_prime_proto_tree 1.31 15.50 0.44 4356890 0.00 0.00 proto_tree_add_boolean 1.25 15.92 0.42 3159740 0.00 0.00 check_col 1.25 16.34 0.42 427320 0.00 0.00 in_cksum 1.13 16.72 0.38 17312017 0.00 0.00 tvb_get_ds_tvb 1.10 17.09 0.37 10131330 0.00 0.00 ensure_contiguous_no_exception 0.98 17.42 0.33 1649490 0.00 0.00 proto_tree_add_item 0.92 17.73 0.31 g_direct_equal 0.84 18.01 0.28 apply_color_filter 0.81 18.28 0.27 427280 0.00 0.00 col_set_addr 0.78 18.54 0.26 213660 0.00 0.00 dissect_eth_common 0.75 18.79 0.25 1281920 0.00 0.00 serv_name_lookup 0.75 19.04 0.25 922900 0.00 0.00 col_append_fstr 0.72 19.28 0.24 5234180 0.00 0.00 proto_tree_prime_hfid 0.69 19.51 0.23 10030480 0.00 0.00 ensure_contiguous 0.69 19.74 0.23 1709280 0.00 0.00 ip_to_str_buf 0.69 19.97 0.23 213660 0.00 0.00 dissect_frame 0.66 20.19 0.22 1119070 0.00 0.00 col_set_str 0.66 20.41 0.22 691790 0.00 0.00 col_clear 0.66 20.63 0.22 213640 0.00 0.00 fill_in_columns 0.63 20.84 0.21 4258840 0.00 0.00 proto_tree_set_representation 0.63 21.05 0.21 3252510 0.00 0.00 fvalue_set 0.63 21.26 0.21 prime_edt 0.60 21.46 0.20 213640 0.00 0.00 add_packet_to_packet_list 0.60 21.66 0.20 100850 0.00 0.00 dissect_smb 0.60 21.86 0.20 g_direct_hash 0.57 22.05 0.19 12375336 0.00 0.00 set_integer 0.57 22.24 0.19 213640 0.00 0.00 col_init 0.54 22.42 0.18 1018340 0.00 0.00 call_dissector_work 0.51 22.59 0.17 396 0.00 0.00 proto_register_field_array 0.48 22.75 0.16 8018481 0.00 0.00 int_fvalue_new 0.48 22.91 0.16 2673920 0.00 0.00 tvb_get_ptr 0.48 23.07 0.16 2245670 0.00 0.00 proto_item_add_subtree 0.45 23.22 0.15 2556780 0.00 0.00 free_register_overhead 0.45 23.37 0.15 680670 0.00 0.00 match_strval 0.45 23.52 0.15 9 0.02 2.56 rescan_packets 0.42 23.66 0.14 2556780 0.00 0.00 proto_get_finfo_ptr_array 0.42 23.80 0.14 1220040 0.00 0.00 proto_is_protocol_enabled Should someone want *all* the profile data, I can send them as 2 .gz files each ~110 kbyte. Regards, Olivier
- Follow-Ups:
- Re: [Ethereal-dev] Profiling summary info for CygWin GTK2 build (aftercolumn patch)
- From: Ronnie Sahlberg
- Re: [Ethereal-dev] Profiling summary info for CygWin GTK2 build (aftercolumn patch)
- Prev by Date: Re: [Ethereal-dev] isakmp
- Next by Date: [Ethereal-dev] GTK2 error
- Previous by thread: Re: [Ethereal-dev] Running decode-as over a highlighted portion and saving it to a file
- Next by thread: Re: [Ethereal-dev] Profiling summary info for CygWin GTK2 build (aftercolumn patch)
- Index(es):