John Doe wrote:
>
> Kan nogen ud fra sine erfaringer forklare mig hvordan man får et script køre
> hurtigere??...
Det afhænger helt af hvad det er der sløver dit program:
ud fra det du beskriver lyder det som om du har et enkelt stort
cgi_program som er for langsomt om at starte fordi det er for stort:
standard tricket til at fikse dèt er at putte en perl_fortolker ind i
webserveren som kun genoversætter programmet når det er blevet ændret;
og ellers hele tiden har en oversat version klar til at blive afviklet:
det er meget nemt med mod_perl og apache selvom det kan være lidt svært
at få i luften:
er det den webserver du bruger? har du mulighed for at pille ved
opsætningen:
hvis dette ikke er muligheden så overvej at split dit nuværende program
op i underprogrammer som ikke har noget med hinanden at gøre; og så kald
disse hver for sig:
> Dette spørgsmål kan se ud som meget opfattende eller endda dumt, men jeg har
> været igennem en del PERL programmering. Jeg ved ikke hvordan man OOP'er i
> PERL. Mine scripts er nærmere sagt "spaghetti code". Jeg har arbejdet på et
> bestemt script som nu er på ca 200 sider.
Jeg har flere filer som kaldes
> fra en hoved script. Jeg har længe spekuleret på om det var klogest at have
> alle mine filer samlet på en stort fil eller dele min stort fil ud til flere
> små filer. Kan man f.eks. risikere længere tid for at åbne og læse flere
> filer? Er det derfor bedre at have en stort fil end at have flere små filer
> for at mindske debug-tid??
det har kun betydning på oversættelsestidspunktet: hvis dit program
_kører_ hurtigt nok som sådan; er dette ikke stedet du skal kigge:
der findes et profilerflag til perl som tillader dig at finde ud af hvor
dit program bruger cpu_tid: hvis det er dèt der er galt; er det vejen
frem:
> Er der nogle smarte tips mht variabler, arrays, hashs osv?? Jeg mener hvis
> scriptet er sort så er der jo mange variabler og dermed stor memory use.
>
ikke nødvendigvis: min erfaring er at selv store programmer ikke fylder
særligt meget ihukommelsen: det der trækker tænder ud er hvis man hiver
hele filer ind i arrays og den slags ting:
herudover kan det let være at det er tiden til at skrive programmet om:
programmer der er vildtvoksende og knopskydende kan godt trænge til at
få ryddet op når man har fundet ud af hvad det _egentligt_ skal kunne:
[beklager tegnsætningen; mit tastatur har det ikke for godt]
--
Thorbjørn Ravn Andersen "...plus...Tubular Bells!"
http://bigfoot.com/~thunderbear