{"id":426,"date":"2008-10-29T15:31:20","date_gmt":"2008-10-29T13:31:20","guid":{"rendered":"http:\/\/blog.it4sport.de\/?p=426"},"modified":"2008-10-29T15:31:20","modified_gmt":"2008-10-29T13:31:20","slug":"zeit-ist-geld-oder-profiling-perl","status":"publish","type":"post","link":"https:\/\/gmbd.de\/wordpress\/index.php\/2008\/10\/29\/zeit-ist-geld-oder-profiling-perl\/","title":{"rendered":"Zeit ist Geld oder Profiling Perl"},"content":{"rendered":"<p>\t\t\t\tNachdem ich hier ca. 800.000 eMails innerhalb k\u00fcrzester Zeit verschicken muss z\u00e4hlt jede Sekunde. Mein Programm ist ein kleiner Daemon in Perl. Ich habe es so geschrieben, dass es parallel mehrmals laufen kann (auch auf verschiedenen Systemen). Trotzdem aber kommt mir das Skript immer noch zu langsam vor. Daher habe ich mal wieder mit Profiling besch\u00e4ftigt. Den Perl Profiler habe ich mit<br \/>\n<code> perl -d:DProf dispatcher.pl <\/code> <!--more--><br \/>\nAnschlie\u00dfend liegt das Ergebnis im Verzeichnis als <em>tmon.out<\/em>. Das wiederum bekommt man ganz einfach \u00fcber das Programm <em>dprofpp<\/em> ausgewertet. Raus kommt im dem aktuellen Beispiel sowas wie: <\/p>\n<pre> \n[root@mail1 dispatcher]# dprofpp \nTotal Elapsed Time = 44.00120 Seconds\n  User+System Time = 1.721205 Seconds\nExclusive Times\n%Time ExclSec CumulS #Calls sec\/call Csec\/c  Name\n 22.3   0.384  0.408   5824   0.0001 0.0001  Net::Cmd::datasend\n 12.7   0.219  0.219   2941   0.0001 0.0001  Net::Cmd::getline\n 11.3   0.195  0.227   2189   0.0001 0.0001  Net::Cmd::command\n 8.95   0.154  0.231    730   0.0002 0.0003  Sys::Syslog::syslog\n 6.80   0.117  0.117    963   0.0001 0.0001  DBI::st::fetch\n 5.64   0.097  1.360    728   0.0001 0.0019  main::send_email\n 5.23   0.090  0.232    728   0.0001 0.0003  Net::Cmd::dataend\n 3.60   0.062  0.062  10957   0.0000 0.0000  Net::Cmd::debug\n 2.85   0.049  0.049    249   0.0002 0.0002  DBI::st::execute\n 2.44   0.042  0.156    728   0.0001 0.0002  Net::SMTP::recipient\n 2.32   0.040  0.153    963   0.0000 0.0002  DBI::st::fetchrow_hashref\n 2.21   0.038  0.034    240   0.0002 0.0001  main::timetable\n 1.74   0.030  0.039      8   0.0037 0.0049  Net::SMTP::BEGIN\n 1.68   0.029  0.127      8   0.0037 0.0158  main::BEGIN\n 1.68   0.029  0.288   2920   0.0000 0.0001  Net::Cmd::response\n<\/pre>\n<p>D.h. also, dass das Programm am meisten Zeit mit der Kommunikation mit dem SMTP Server verbraucht. Mal sehen ob ich da was optimieren kann. \t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nachdem ich hier ca. 800.000 eMails innerhalb k\u00fcrzester Zeit verschicken muss z\u00e4hlt jede Sekunde. Mein Programm ist ein kleiner Daemon in Perl. Ich habe es so geschrieben, dass es parallel mehrmals laufen kann (auch auf verschiedenen Systemen). Trotzdem aber kommt mir das Skript immer noch zu langsam vor. Daher habe ich mal wieder mit Profiling\u2026 <span class=\"read-more\"><a href=\"https:\/\/gmbd.de\/wordpress\/index.php\/2008\/10\/29\/zeit-ist-geld-oder-profiling-perl\/\">Weiterlesen &raquo;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[36],"tags":[128,279],"_links":{"self":[{"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/426"}],"collection":[{"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=426"}],"version-history":[{"count":0,"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/426\/revisions"}],"wp:attachment":[{"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}