|
|||||||||||||||||||||||||||
I sslug.perl, skrev Jacob Sparre Andersen:
> Jesper Krogh skrev:
>
> > Jeg har et perl-script som generere output til mrtg dette kaldes
> > derfor 75 gange hvert 5 min. for at levere data. Dette betyder at
> > moduler skal loades og oversættes osv. osv, hver gang. Er der nogen
> > nem måde at gøre denne process nemmere for maskinen?
>
> 1) Gå ud fra at systemet allerede _er_ lavet så det er nemt for
> maskinen.
>
> 2) _Mål_ om/hvor der er problemer.
>
> 3) _Mål_ om eventuelle optimeringsforsøg rent faktisk gør programmet
> hurtigere.
>
> Men så må jeg desværre også indrømme at jeg ikke ved hvordan man laver
> detaljerede tidsforbrugsmålinger på et fortolket program. Med
> oversatte programmer kan man bruge `gprof`. Det kan være meget
> lærerigt.
Først vil jeg lige takke for alle de gode forslag. Det ender nok med at
jeg splitter det i 2 scripts der klarer ærterne hver for sig.. så kan
det der læser data slippe for at loade moduler.
Output fra gprof:
shrek:~# dprofpp tmon.out
Exporter::Heavy::heavy_export_ok_tags has 1 unstacked calls in outer
Socket::__ANON__ has 5 unstacked calls in outer
POSIX::load_imports has 1 unstacked calls in outer
Socket::AUTOLOAD has -5 unstacked calls in outer
Exporter::export_ok_tags has -1 unstacked calls in outer
Exporter::export has -10 unstacked calls in outer
POSIX::AUTOLOAD has -1 unstacked calls in outer
Exporter::Heavy::heavy_export has 10 unstacked calls in outer
Total Elapsed Time = 0.287304 Seconds
User+System Time = 0.287304 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
31.3 0.090 0.179 16 0.0056 0.0112 Net::Jabber::BEGIN
20.8 0.060 0.298 9 0.0066 0.0331 main::BEGIN
13.9 0.040 0.079 15 0.0027 0.0053 XML::Stream::BEGIN
6.96 0.020 -0.000 10 0.0020 - Exporter::export
6.96 0.020 0.030 5 0.0040 0.0059 XML::Parser::BEGIN
6.96 0.020 0.020 60 0.0003 0.0003 Exporter::import
3.48 0.010 0.010 2 0.0050 0.0050 DynaLoader::BEGIN
3.48 0.010 0.010 9 0.0011 0.0011 DynaLoader::dl_load_file
3.48 0.010 0.010 1 0.0100 0.0099 DBI::install_driver
3.48 0.010 0.010 5 0.0020 0.0020 IO::Seekable::BEGIN
3.48 0.010 0.010 6 0.0017 0.0016 XML::Stream::XPath::BEGIN
3.48 0.010 0.010 22 0.0005 0.0005 strict::unimport
0.00 0.000 0.000 1 0.0000 0.0000 Exporter::Heavy::heavy_export_ok_t
ags
0.00 0.000 0.000 10 0.0000 0.0000 Exporter::Heavy::heavy_export
0.00 0.000 0.000 5 0.0000 0.0000 Socket::__ANON__
Det første forstår jeg ikke, men jeg er 100% overbevist om at det der tager tiden er at loade Net::Jabber ( + hvad den bruger ) og DBI
--
./Jesper Krogh, sslug@sslug
Jabber ID: sslug@sslug
Tøm din hjerne for Linuxviden på http://www.linuxwiki.dk
|
||||||||||||||
|
||||||||||||||