| 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