
./29 : c'est pas une raison, ç'aurait été tout aussi possible avec un format binaire et des softs faits pour ça.
Zerosquare (./26) :ça c'est pas trop le genre de la maison par contre (pour te donner une idée, sur la porte de bureaux en face du mien est écrit « w3c » ^^)
la tolérance pour la syntaxe foireuse
Sally (./33) :
ça c'est pas trop le genre de la maison par contre (pour te donner une idée, sur la porte de bureaux en face du mien est écrit « w3c » ^^)
<?php
set_time_limit(0);
global $redis;
$redis = new Redis();
if( !$redis->connect('127.0.0.1') ) die('cannot fuck the database ...');
//$redis->flushAll();
$deltime = 0;
$addtime = 0;
$echotime = 0;
$savetime = 0;
$fastechotime = 0;
function add2List($key,$data)
{ global $redis;
$keylist = $key.':list';
$keynbentry = $key.':nbentry';
$idnewentry = $redis->incr($keynbentry);
$keynewentry = $key.':'.$idnewentry;
// get current list "number of elements"
//$nb = $redis->zCard($keylist);
//if(($nb+1) != $idnewentry) die('fuck : nb='.$nb.' id:'.$idnewentry);
// append list, score will be "listsize + 1"
$redis->zAdd($keylist, $idnewentry, $idnewentry);
// fill new entry with data given
$redis->set($keynewentry.':data',$data);
return $keynewentry;
}
function delList_r($key)
{ global $redis;
$keylist = $key.':list';
$list = $redis->zRange($keylist, 0, -1, true);
$redis->delete($key.':nbentry', $key.':data', $key.':html');
foreach($list as $name => $value) delList_r($key.':'.$value);
$redis->delete($keylist);
}
function getList_r($key,$first=1)
{ global $redis;
$html = $redis->get($key.':html'); if($html !== false) return $html;
$out = '';
if(!$first) $out .= '<li>';
$out .= $redis->get($key.':data');
$out . $ret[1];
$list = $redis->zRange($key.':list', 0, -1, true);
if(!empty($list))
{ $out .= '<ul>';
foreach($list as $name => $value) $out .= getList_r($key.':'.$value,0);
$out .= '</ul>';
}
if(!$first) $out .= '</li>';
return $out;
}
function saveListHtml($key)
{ global $redis;
$redis->set($key.':html', getList_r($key));
}
$menu = 'alpha:list:menu:menu_haut';
$nbiteration = 1000;
$iteration = $nbiteration;
$totalstart = microtime(true);
while($iteration--)
{ $tstart = microtime(true);
// suppression du menu précédent, par recursion
delList_r($menu);
$deltime += microtime(true) - $tstart;
$tstart = microtime(true);
// ajout d'entrées au menu
$entry = add2List($menu,'bonjour');
$entry2 = add2List($menu,'hello');
$entrylvl2 = add2List($entry,'subbonjour');
add2List($entry,'subbonjour2');
add2List($entry,'subbonjour3');
add2List($entry,'subbonjour4');
$subentry5 = add2List($entry,'subbonjour5');
add2List($subentry5,'hello world !');
add2List($entrylvl2,'subsubbonjour');
add2List($entrylvl2,'subsubbonjour1');
add2List($entry2,'subhello');
add2List($entry2,'subhello2');
$addtime += microtime(true) - $tstart;
$tstart = microtime(true);
getList_r($menu); // affichage du menu, par recursion
$echotime += microtime(true) - $tstart;
$tstart = microtime(true);
saveListHtml($menu); // sauve la sortie html du menu pour eviter la recursion
$savetime += microtime(true) - $tstart;
$tstart = microtime(true);
getList_r($menu); // affichage du menu, doit utiliser la sauvegarde
$fastechotime += microtime(true) - $tstart;
}
$totaltime = microtime(true) - $totalstart;
print getList_r($menu);
print '<b>completed '.$nbiteration.' in '.$totaltime.' seconds</b><br><br>average times :';
print '<br>delete old menu in '.(($deltime/$nbiteration)*1000).'ms';
print '<br>add to menu in '.(($addtime/$nbiteration)*1000).'ms';
print '<br>get menu in '.(($echotime/$nbiteration)*1000).'ms';
print '<br>save menu html in '.(($savetime/$nbiteration)*1000).'ms';
print '<br>fast get menu in '.(($fastechotime/$nbiteration)*1000).'ms';
?>
r043v (./37) :Tu sais qu'un jour tu vas oublier de changer ça avant de livrer à ton client ?
die('cannot fuck the database ...');
Error: & did not start a character reference. (& probably should have been escaped as &.) At line 14, column 247 js?sensor=false&langu Error: & did not start a character reference. (& probably should have been escaped as &.) At line 14, column 259 lse&language=fr®ioune idée ?