| How to use speedtest |
| -------------------- |
| |
| Run it like this: |
| |
| perl -d:DProf speedtest <list> <of> <messages> <to> <scan> |
| |
| That will run SA over the individual messages listed as arguments, and produce a timings output file called tmon.out, which can be read by dprofpp |
| |
| So you'll then want to do something like: |
| |
| dprofpp |
| |
| Which will dump something like: |
| |
| Total Elapsed Time = 3.318045 Seconds |
| User+System Time = 2.408151 Seconds |
| Exclusive Times |
| %Time ExclSec CumulS #Calls sec/call Csec/c Name |
| 22.0 0.530 1.228 8 0.0662 0.1535 Mail::SpamAssassin::PerMsgStatus::_body_tests |
| 6.64 0.160 0.160 8 0.0200 0.0200 Mail::SpamAssassin::PerMsgStatus::porn_word_test |
| 5.81 0.140 1.377 8 0.0175 0.1722 Mail::SpamAssassin::PerMsgStatus::do_body_tests |
| 5.77 0.139 1.703 21 0.0066 0.0811 Mail::SpamAssassin::PerMsgStatus::BEGIN |
| 5.56 0.134 0.178 1 0.1338 0.1775 Mail::SpamAssassin::Conf::_parse |
| 5.40 0.130 0.116 970 0.0001 0.0001 Mail::SpamAssassin::NoMailAudit::_get_header_list |
| 5.40 0.130 0.758 13 0.0100 0.0583 Mail::SpamAssassin::BEGIN |
| 5.36 0.129 0.302 924 0.0001 0.0003 Mail::SpamAssassin::PerMsgStatus::get |
| 4.15 0.100 0.189 970 0.0001 0.0002 Mail::SpamAssassin::NoMailAudit::get_header |
| 3.28 0.079 0.204 14 0.0057 0.0146 Razor::Client::BEGIN |
| 3.11 0.075 0.184 8 0.0094 0.0230 Mail::SpamAssassin::PerMsgStatus::_rawbody_tests |
| 2.91 0.070 0.085 8 0.0087 0.0107 Mail::SpamAssassin::PerMsgStatus::do_body_uri_tests |
| 2.49 0.060 0.079 8 0.0075 0.0099 Mail::SpamAssassin::PerMsgStatus::RATWARE_head_test |
| 2.49 0.060 0.067 8 0.0075 0.0084 Mail::SpamAssassin::PerMsgStatus::get_decoded_stripped_body_text_array |
| 2.49 0.060 0.085 30 0.0020 0.0028 Net::DNS::RR::BEGIN |
| |
| |
| The functions in the final column which you care about are the ones that match /_test$/ |
| |
| You can increase the number of functions listed using the "-O xxxx" option to dprofpp. |