Ueland Skrevet 4. april 2006 Del Skrevet 4. april 2006 sannsynligvis vil en PHP optimizer som legger seg på parser delen server side gjøre mye mer forbedring ytelsesmessig enn små kodeforbedringer uansett (forruten på SQL fronten). Tester et nytt optimizer system på forskjellige script og siden det legger scriptene i minnet førte det til en ytelsesøkning på mellom 20->50% på alle jeg testet, både ferdigløsninger og "hjemmenekra" løsninger. For bedrifter blir det sannsynligvis mye billigere å enten kaste inn en optimizer eller å kaste inn mer kalkulatorkraft enn å drive med "pirkekoding" for å senke parsetiden på et script med minimalt med tid Lenke til kommentar
???????? Skrevet 4. april 2006 Del Skrevet 4. april 2006 Høres bra ut... hvilken optimizer er det du tester? Lenke til kommentar
Ueland Skrevet 4. april 2006 Del Skrevet 4. april 2006 Høres bra ut... hvilken optimizer er det du tester? 5868907[/snapback] Den er ikke lansert enda så har bedt om at det ikke blir røpet før de har den i stabil(mer stabil) versjon. Kommer nok om kort tid, og da får jeg komme tilbake med mer info Lenke til kommentar
Ernie Skrevet 4. april 2006 Del Skrevet 4. april 2006 Greia er hva foreach ER. Det er en funksjon som er laget primært for å loope igjennom assosiative arrayer. For er dermot en funksjon som har en eneste oppgave: loope igjennom en numerisk array. Dette har i stor grad med at jeg er vant til og ikke minst opplært i C++ hvor man ikke har foreach (ja, man har for_each og jo, det noe helt annet ...) og ei heller assosiative arrayer (dog andre datastrukturer, men der har man helt andre måter å loop på). Dog, for å snu flisa litt: Hvorfor bruke foreach? Hva er fordelene? Lenke til kommentar
dabear Skrevet 4. april 2006 Del Skrevet 4. april 2006 PHP 4 introduced a foreach construct, much like Perl and some other languages. This simply gives an easy way to iterate over arrays. foreach works only on arrays, and will issue an error when you try to use it on a variable with a different data type or an uninitialized variable. There are two syntaxes; the second is a minor but useful extension of the first: Står ingenting om «assosiative» arrays der (multidimensjonale array du mener?) Dog, for å snu flisa litt: Hvorfor bruke foreach? Hva er fordelene? Jeg vil tru at foreach er optimalisert for sitt bruk, nemlig å iterere over arrays (og objekter i php5). I php5 kan du til og med bruke referanser («foreach ($array as &$value)»). Fordelene er jo så klart mindre kode, spesielt om arraynøklene ikke er numeriske. Og så slipper du å kjøre $len = count($array); først Lenke til kommentar
Ernie Skrevet 4. april 2006 Del Skrevet 4. april 2006 (endret) PHP 4 introduced a foreach construct, much like Perl and some other languages. This simply gives an easy way to iterate over arrays. foreach works only on arrays, and will issue an error when you try to use it on a variable with a different data type or an uninitialized variable. There are two syntaxes; the second is a minor but useful extension of the first: Står ingenting om «assosiative» arrays der (multidimensjonale array du mener?) 5869111[/snapback] Altså, hele poenget med iterasjon er nettopp å loope igjennom noe som ikke er numerisk indeksert, altså assosiativt i PHP siden vi bare har arrayer. I C++ vil man i tillegg ha vector, list, map pluss en del andre ting hvor du ikke sånn helt uten videre kan bruke []. I tillegg er [] det samme som random access iterator. Dog, for å snu flisa litt: Hvorfor bruke foreach? Hva er fordelene? Jeg vil tru at foreach er optimalisert for sitt bruk, nemlig å iterere over arrays (og objekter i php5). I php5 kan du til og med bruke referanser («foreach ($array as &$value)»). Fordelene er jo så klart mindre kode, spesielt om arraynøklene ikke er numeriske. Og så slipper du å kjøre $len = count($array); først 5869111[/snapback] Den er optimalisert for å iterere igjennom noe som egentlig er langt fra en array (selv om det ser slik ut i koden). I tillegg, når ble det et godt argument at man med en for-loop får en ekstra linje med kode? Færre linjer kode er overhode ikke det samme som rask kode. Endret 4. april 2006 av Ernie Lenke til kommentar
dabear Skrevet 4. april 2006 Del Skrevet 4. april 2006 (endret) færre linjer med kode tar kortere tid å skrive. Når hastighetsforskjellen er uvesentlig, skriver jeg ikke det alternativet som tar lengst tid bare fordi jeg sparer hundre/tusendeler. Sjølsagt, om det dreier som om en enorm forskjell, velger jeg det som bruker kortest tid for parseren å utføre. Det som slår størst inn ang. hastighetsforskjeller i php, er uansett at det virker som php sin minnehåndtering har har mye å si. Jeg tenkte det kunne være artig å teste ut hva som er kjappest av for-og foreach på et enkelt array. Sjøl om resultata varierer kraftig, ser jeg at forskjellen det er snakk om, er i tusendeler. På arrays der du vil liste opp key + value (og som ikke er numeriske), vil nok foreach være kjappere enn for, pga at du må inn med kall til flere funksjoner om du vil liste opp keys og verdier i en for-loop. <?php function script_runtime ($round = 20) { if ( !empty( $GLOBALS['scrt'] ) ) { list($msec, $sec) = explode(' ', microtime()); echo 'Execution took this long: ', round(($sec + $msec) - $GLOBALS['scrt'], $round); } else { list($msec, $sec) = explode(' ', microtime()); $GLOBALS['scrt'] = $sec + $msec; } } script_runtime(); $array = array('hello', 'I am', 'Funny', 2345, 1337 . 'sad', "\t\tdata\n\n\t\t", 'heelo'); foreach($array as $value) { echo "Dette er verdien: $value\n"; } script_runtime(); $scrt = null; script_runtime(); $len = count($array); for($i=0;$i < $len; $i++) { echo "Dette er verdien: {$array[$i]}\n"; } script_runtime(); ?> Endret 4. april 2006 av dabear Lenke til kommentar
Peter Skrevet 4. april 2006 Del Skrevet 4. april 2006 (endret) http://www.bruesoft.com/php_benchmark.php Denne har en del benchmarks, selv om tallene og kommentarene under ikke stemmer overens slik jeg ser det. EDIT: Etter å ha lest litt nøyere, ser jeg at utregningene gjøres i real-time når du laster siden, derfor kan faktisk resultatene variere veldig på rundt når på dagen osv. Første gang jeg gikk inn på siden var resultatene nesten konsekvent motsatt av kommentarene, men da jeg trykket refrsh, ble pluselig resultatene enig med kommentarene... Endret 4. april 2006 av Nazgul Lenke til kommentar
Gjest Slettet-df17e Skrevet 5. april 2006 Del Skrevet 5. april 2006 (endret) http://www.tiobe.com/tpci.htm PHP på 4. plass Endret 5. april 2006 av Slettet-df17e Lenke til kommentar
Steinmann Skrevet 7. april 2006 Del Skrevet 7. april 2006 Vanskelig å sammenligne slike språk da. Perl og PHP er jo mye bedre på det de er designet for enn Java fx. Og med bedre mener jeg jo ikke raskere, for kompilert kildekode er (vel) alltid raskere enn et skript språk. Lenke til kommentar
???????? Skrevet 7. april 2006 Del Skrevet 7. april 2006 Å sammenligne Java og C++ med PHP er, som orsus delvis uttrykker, i utgangspunktet helt meningsløst! Men fordelen med slike tester/sammenligninger er for å vise hvor stort et språk er i forhold til andre språk. Det er jo kjekt å se at PHP ikke er upopulært Lenke til kommentar
Gjest Slettet-df17e Skrevet 7. april 2006 Del Skrevet 7. april 2006 [....] Men fordelen med slike tester/sammenligninger er for å vise hvor stort et språk er i forhold til andre språk. Det er jo kjekt å se at PHP ikke er upopulært 5882423[/snapback] Dette er også grunden til at jeg postet linken over Lenke til kommentar
???????? Skrevet 7. april 2006 Del Skrevet 7. april 2006 Jepp... dette var ikke kritikk av hverken ditt innlegg eller innlegget til orsus. Forsøkte å påpeke hvilke fordeler en slik liste har, og hvilke begrensninger. Lenke til kommentar
Cucum(r) Skrevet 7. april 2006 Del Skrevet 7. april 2006 LæringsmålStudenter som fullfører denne modulen vil være i stand til å: - lage en nettside med enkelte avanserte funksjoner i PHP - demonstrere kunnskaper om ulike interaktive fortellerstrukturer og deres bruksområder - kunne planlegge og produsere et nettsted fra ide til ferdig produkt [......] Lurer virkelig på kva dei legg i det første punktet. Får vel berre vente til hausten med å finne det ut. Lenke til kommentar
Cucum(r) Skrevet 7. april 2006 Del Skrevet 7. april 2006 Betyr sikkert echo osv 5884153[/snapback] Det hadde gjort seg, det. Lenke til kommentar
rødøye Skrevet 7. april 2006 Del Skrevet 7. april 2006 Hvis du er heldig får du kanskje vite hva en variabel er også. Lenke til kommentar
rønning Skrevet 9. april 2006 Del Skrevet 9. april 2006 noen her som har hatt PHP som fag. Kan han/hun i tilfellet fortelle litt om hva man lærer. Føler at det er litt unødvendig å ta et slikt fag hvis man kan mye fra før. Lenke til kommentar
CruellaDeVille Skrevet 9. april 2006 Del Skrevet 9. april 2006 noen her som har hatt PHP som fag. Kan han/hun i tilfellet fortelle litt om hva man lærer. Føler at det er litt unødvendig å ta et slikt fag hvis man kan mye fra før. 5894628[/snapback] Jeg har tatt huin205 fra UiB, webprogrammering og databaser. I dette faget lærte man basic php med variabler, konstanter, funksjoner, kontrollstrukturer, returverdier, filbehandling, arrays både en og todimensjonale, feilhåndtering, PEAR it-templates, kobling til mysql-databaser, herunder også innsetting, uthenting, sletting og endring. Videre om sessions, lesing og skriving fra og til xml-dokumenter, autentisering vha php, litt om sikkerhet i tillegg til klasser (i php4 og php5), arv, modifikatorer, abstrakte klasser, interface. I huin205 var php 50% av kurset, resten var xml og xslt. Lenke til kommentar
trondes Skrevet 9. april 2006 Forfatter Del Skrevet 9. april 2006 Jeg har tatt huin205 fra UiB, webprogrammering og databaser.[klipp&klapp] I huin205 var php 50% av kurset, resten var xml og xslt. 5894879[/snapback] Hadde du vært borti noe av dette tidligere? hvis ja, lærte du noe nytt? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå