Ethereal-dev: RE: [Ethereal-dev] TPKT performance improvement

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 20:37:55 +0100
| From: Guy Harris
| 
| At some point, we might also want to have "proto_register_protocol()" 
| take a "protocol_t **" argument and set the "protocol_t *" pointed to 
| by that argument to point to the new protocol's "protocol_t", 
| and have 
| more routines take "protocol_t *"s rather than protocol IDs as 
| arguments; that might make startup run faster.  (We might 
| want to do a 
| profiled run of starting up Ethereal and exiting immediately.)

These are the results of such a test (colorfilters were on, but I started
Ethereal without command-line arguments from the command line). Please note
that I don't currently build with plugins as this is still somehow
cumbersome to me :)

The big consumers are listed below:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
 48.51      0.49     0.49      396     1.24     1.63
proto_register_field_array
 15.84      0.65     0.16    15203     0.01     0.01
proto_register_field_init
  7.92      0.73     0.08        1    80.00    80.00  kill_capture_child
  4.95      0.78     0.05        1    50.00    50.01  proto_register_bacp
  3.96      0.82     0.04        1    40.00    40.00  get_main_menu
  2.97      0.85     0.03        1    30.00    31.64
proto_register_cipencap
  2.97      0.88     0.03        1    30.00    31.64
proto_register_dce_update
  1.98      0.90     0.02        1    20.00    21.64  proto_register_aarp
  1.98      0.92     0.02        1    20.00    21.64  proto_register_afs4int
  1.98      0.94     0.02        1    20.00    21.64  proto_register_lacpdu
  1.98      0.96     0.02        1    20.00    21.75  proto_register_netlib
  0.99      0.97     0.01       95     0.11     0.11
proto_get_protocol_filter_name
  0.99      0.98     0.01        1    10.00   870.00  proto_init
  0.99      0.99     0.01        1    10.00    11.64  proto_register_bicc
  0.99      1.00     0.01                             proto_compare_name
  0.99      1.01     0.01                             proto_match_name

All other entries were each taking "0 time" so I left them out.

Regards,

Olivier

Attachment: gprof-ethereal-start-stop-02.txt.gz
Description: Binary data