Valcha Posted January 31, 2008 Report Share Posted January 31, 2008 Sveiki! Vai kāds patiešām strlen vietā izmanto isset funkciju, lai noteiktu, vai mainīgais nav īsāks/garāks par noteikto? Bet jautājums par citu - vai performancei isset arī ir efektīgāk izmantot arī stringa garuma precīzai noteikšanai. Šaubos tādēļ, ka tad ir jāveic 2 isset pārbaudes - vai ir pēdējais simbols un, vai nav nākamais. // vai strings ir vienaads ar 10 Tātad if (strlen($mainigais)[10]) {ir ok } vietaa darām tā: if (isset ($mainigais[9]) and !isset($mainigais[10])) Vispār man sāk šķist, ka tas viss ir pārākā dzīves sarežģīšana - kas būs, kads cits tādu kodu ieraudzīs? :) Vai kāds vispār tik mistiski dara? Vismaz pie mazāks/lielāks? Paskaidrojumam, kādēļ sāku ķēpāties ar tādām lietām - sāku kodu optimizēt sākot no cikliem un turpinot ar visu iespējamo. Link to comment Share on other sites More sharing options...
andrisp Posted January 31, 2008 Report Share Posted January 31, 2008 Vai kāds patiešām strlen vietā izmanto isset funkciju, lai noteiktu, vai mainīgais nav īsāks/garāks par noteikto? Protams. Izmanto funkcijas tam, kam katra ir paredzēta. if (isset ($mainigais[9]) and !isset($mainigais[10])) Perversi. Šaubos vai arī tur ir kāds ātrdarbības ieguvums. Link to comment Share on other sites More sharing options...
Delfins Posted January 31, 2008 Report Share Posted January 31, 2008 strlen bus ātrāks. (jo glabājās jau kalkulētais garums) isset vispār ir bremze.. pameklē forumu - ir pārs linki uz perfomance tuningu. Link to comment Share on other sites More sharing options...
bubu Posted January 31, 2008 Report Share Posted January 31, 2008 Protams. Tu tiešām izmanto to isset šādiem mērķiem? Link to comment Share on other sites More sharing options...
andrisp Posted January 31, 2008 Report Share Posted January 31, 2008 Pārlasījos. :) Uz ātro izlasot, man likās, ka cilvēks jautā vai izmanto strlen priekš garuma noteikšanas. Link to comment Share on other sites More sharing options...
Valcha Posted January 31, 2008 Author Report Share Posted January 31, 2008 Paldies visiem, tā jau domāju. Delfīn, paskatīšos performances php.lv forumus. Link to comment Share on other sites More sharing options...
Valcha Posted January 31, 2008 Author Report Share Posted January 31, 2008 Delfīn, citi: Paskatījos netā tādus softus kā Turck MMCache, eAccelerator utt. Tie visi kešo(varbūt arī kompilē kešam (?)) un tādā veidā dod performanci. Bet es nesaprotu - vai tie kešo uzģenerēto HTML rezultātu vai arī pašu PHP kodu kaut kā sagatavo? Jo HTML kešošana man neder, tā kā lapa randomā mainā ik uz klikšķa. Man vajag tieši PHP izpildi paātrināt. Nav jau tā, ka velkas, bet 400KB kods ielādējas no 0.5-1.5 sec, atkarībā no apmeklējuma (dienā līdz 1000 personu). Gribējās žiperīgāku. Aha - un visas funkcijas glabāju dažos failos un defaultā inklūdoju, ir index, kas to vajadzīgās funkcijas kā kontrolieris izsauc. Negribēju veidot atsevišķu topiku tādam jautājumam.. Link to comment Share on other sites More sharing options...
Paulinjsh Posted January 31, 2008 Report Share Posted January 31, 2008 php kodu gatavo Link to comment Share on other sites More sharing options...
Joyride Posted January 31, 2008 Report Share Posted January 31, 2008 Precīzāk, nokešo PHP baitkodu, tātad netiek katru reizi no jauna pārsēti skripti, tikai izpildīts jau nokešotais baitkods. Link to comment Share on other sites More sharing options...
PheliX Posted January 31, 2008 Report Share Posted January 31, 2008 Calling isset() happens to be faster then strlen() because unlike strlen(), isset() is a language construct and not a function meaning that it's execution does not require function lookups and lowercase. This means you have virtually no overhead on top of the actual code that determines the string's length. http://reinholdweber.com/?p=3 33. punkts. Bet pat ja tā ir, nez vai ir vērts par to pārāk iespringt. Link to comment Share on other sites More sharing options...
Recommended Posts