EdgarsK Posted January 27, 2010 Author Report Share Posted January 27, 2010 (edited) protams, nelasiji aprakstu? - svaigā satura pārkodēšana json lai var glabāt teksta veidā un pēc tam base64 lai var lietot kā php stringu, jo visi zinām cik ilgi aizņemt file_get_contents, tapēc tā vietā lietojam include un glabājam cache failus kā php failus. glabājas php faila $cache_saved = "base64_encoded jo json atstaj "/'"; kautgan var tak enkodet tos quotes, bet vai vajg? - update 0.1.1 http://paste.php.lv/fc80e2e459dbbc82f3d457b4b50f82d4?lang=php Edited January 27, 2010 by EdgarsA Quote Link to comment Share on other sites More sharing options...
briedis Posted January 27, 2010 Report Share Posted January 27, 2010 Nē, ar to iznešanu biju domājis tā, lai var ātri pamainīt vērtībās nerokoties pa kodu :) class Ehrtop { private $cache_file = dirname(__FILE__).'/cache.php'; // glabājam kā php failus, jo mēs inklūdojam. private $cache_interval = 300; private $url = 'http://www.europeanhitradio.com/topi'; private $referrer = 'http://www.europeanhitradio.com/index.php'; public function setRefferer($referrer){ $this->referrer = $referrer; } public function setUrl($url){ $this->url = $url; } public function setCacheInterval($cache_interval){ $this->cache_interval = $cache_interval; } public function setCacheFile($cache_file){ $this->cache_file = $cache_file; } ... Starpcitu, ir referrer, nevis refferer :)) (pats tikko uzzināju) Pēc labā stila klases mainīgos kā privātus un attiecīgos get'erus un set'erus uzrakstam, lai no ārpuses var piekļūt... Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted January 27, 2010 Author Report Share Posted January 27, 2010 hehe :D labs par to referer, shitas man arii vislaik juuk, tapat ka "offis" vai "ofiss" :) skaidra ta tava doma ko vel varetu piedzemdet vinjam klat ? Quote Link to comment Share on other sites More sharing options...
2easy Posted January 27, 2010 Report Share Posted January 27, 2010 un ar ko include varētu būt ātrāks par file_get_contents() ??? dati taču tāpat ir jānolasa no faila, un abas funkcijas to dara! man te pēdējo pāris mēnešu laikā bija vesela sērija ar timer piemēriem, kur vajadzēja lauzt dažādus mītus/stereotipus par to, kas ir ātrāks un kas ir lēnāks... $gnTm = 0; function tmu() {list($nSecU, $iSec) = explode(' ', microtime()); return $iSec + $nSecU;} // micro time - izdod pašreizējo unix laiku: sekundes + mikrosekundes (aiz "komata") function tmrSet() {global $gnTm; $gnTm = tmu();} // set timer function tmrGet() {global $gnTm; return tmu() - $gnTm;} // get timer function tmrEcho($sInfo = '') {printf('%s%.4f<br />', $sInfo, tmrGet());} // echo timer - parāda laiku ar precizitāti līdz 100 mikrosekundēm (ilgākām darbībām). lielākas precizitātes mērījumiem desmitos mikrosekunžu (vai vēl mazāk) ir jāņem vērā arī pašas funkcijas izsaukuma laiks (tb tad būtu jāizmēra function call overhead) tmrSet(); include 'cache.php'; tmrEcho('cache include: '); tmrSet(); $cache_saved2 = file_get_contents('cache.php'); tmrEcho('cache read: '); /* aptuvens vidējais rezultāts uz mana pc: cache include: 0.0170 cache read: 0.0005 */ šajā konkrētajā gadījumā uz tavu ~50KB cache failu file_get_contents() izrādījās ~30x ĀTRĀKS par include neņem ļaunā, bet hahaha... jo visi zinām cik ilgi aizņemt file_get_contents Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted January 27, 2010 Author Report Share Posted January 27, 2010 iespejams ka tev taisniba. Quote Link to comment Share on other sites More sharing options...
briedis Posted January 27, 2010 Report Share Posted January 27, 2010 (edited) Tas par to fgc noteitki bija domāt kā uz citiem hostiem, nevis lokāli. fgc salīdzinot ar curl bija ~3-4x lēnāks... 17 vote down check I just did some quick benchmarking on this. Fetching google.com using file_get_contents took (in seconds): 2.31319094 2.30374217 2.21512604 3.30553889 2.30124092 CURL took: 0.68719101 0.64675593 0.64326 0.81983113 0.63956594 Edited January 27, 2010 by briedis Quote Link to comment Share on other sites More sharing options...
2easy Posted January 27, 2010 Report Share Posted January 27, 2010 njaa network programming jau ir cita lieta Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted January 27, 2010 Author Report Share Posted January 27, 2010 briedi :) tas pa citiem hostiem ir skaidrs kapec curlu lieto mes te spriezam kko citu ja glaba faila.php un lieto ka inkludi vajag taisit base64_encode kas automatiski 2x lielaku failu padara, bet es uzskatu ka tas strada atrak neka file_get_contents kura gadijuma nav jaglaba ka base64_encodeetam. - cache faili :) chache f... aili.. Quote Link to comment Share on other sites More sharing options...
2easy Posted January 27, 2010 Report Share Posted January 27, 2010 (edited) var jau visko uzskatīt, taču kad teorētiski viss ir apfilozofēts par to, kas ir ātrāks (un visi, kas ir gribējuši, ir saderējuši uz aliņiem), tad ir jāķeras pie praktiskās performances mērīšanas, lai noteiktu, kas paņem mazāk cpu laika. tad arī noskaidrojas uzvarētājs ;) šajā gadījumā plain dati (bez nekādiem base64) aizņem gan mazāk vietu, gan arī ātrāk nolasās ar file_get_contents(). kr4 double ieguvums :)) EDIT: teorētiski ir skaidrs, kāpēc include ir lēnāks. jo php parseris parsē visu to datu blāķi un interpretē kā php kodu. bet file_get_contents() vnk nolasa baitus un saliek string mainīgajā. tobish veic vnkāršu low level darbību: hdd -> ram Edited January 27, 2010 by 2easy Quote Link to comment Share on other sites More sharing options...
briedis Posted January 27, 2010 Report Share Posted January 27, 2010 var jau visko uzskatīt, taču kad teorētiski viss ir apfilozofēts par to, kas ir ātrāks (un visi, kas ir gribējuši, ir saderējuši uz aliņiem), tad ir jāķeras pie praktiskās performances mērīšanas, lai noteiktu, kas paņem mazāk cpu laika. tad arī noskaidrojas uzvarētājs ;) šajā gadījumā plain dati (bez nekādiem base64) aizņem gan mazāk vietu, gan arī ātrāk nolasās ar file_get_contents(). kr4 double ieguvums :)) Kā tas ir - plain dati? Serializēts masīvs? Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted January 27, 2010 Author Report Share Posted January 27, 2010 :) mosh readfile()? Quote Link to comment Share on other sites More sharing options...
2easy Posted January 27, 2010 Report Share Posted January 27, 2010 ar "plain datiem" es biju domājis jebko, kas bija pirms base64 kodēšanas. vnk nedarīt liekas darbības un lieki nepārveidot datus par kko citu. kiss~ keep it small & simple Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.