Close #9 Analyse des performances de `lightdb`
This commit is contained in:
parent
3ecfae2831
commit
97f8bcab68
126
automate.php
126
automate.php
|
@ -87,7 +87,129 @@
|
|||
// }
|
||||
|
||||
|
||||
$req = new ModuleRequest('download/phone', array('subjects'=>array(1)));
|
||||
$req->download();
|
||||
// $req = new ModuleRequest('download/phone', array('subjects'=>array(1)));
|
||||
// $req->download();
|
||||
|
||||
|
||||
|
||||
/* [4] Analyse des performances de `lightdb`
|
||||
=========================================================*/
|
||||
$start = microtime(true);
|
||||
$db = new lightdb('test1', __ROOT__.'/tmp/');
|
||||
|
||||
/* (0) Création des objets à insérer */
|
||||
// $object_10 = array();
|
||||
// for( $i = 0 ; $i < 10 ; $i++ )
|
||||
// $object_10["key-$i-"] = "value-$i-";
|
||||
// $o10len = strlen( json_encode($object_10) );
|
||||
//
|
||||
// $object_100 = array();
|
||||
// for( $i = 0 ; $i < 100 ; $i++ )
|
||||
// $object_100["key-$i-"] = "value-$i-";
|
||||
// $o100len = strlen( json_encode($object_100) );
|
||||
//
|
||||
// $object_1000 = array();
|
||||
// for( $i = 0 ; $i < 1000 ; $i++ )
|
||||
// $object_1000["key-$i-"] = "value-$i-";
|
||||
// $o1000len = strlen( json_encode($object_1000) );
|
||||
|
||||
|
||||
/* (1) Insertion de 1000 données */
|
||||
// {1} Insertion d'objects de taille 10 //
|
||||
// var_dump("Inserting 1000* object_10($o10len)");
|
||||
// $start = microtime(true);
|
||||
//
|
||||
// for( $i = 0 ; $i < 1000 ; $i++ )
|
||||
// $db->insert("object-10-$i", $object_10);
|
||||
//
|
||||
// $stop = microtime(true);
|
||||
// var_dump('1000 lines inserted in '.($stop-$start).' sec.');
|
||||
//
|
||||
// // {2} Insertion d'objects de taille 100 //
|
||||
// var_dump("Inserting 1000* object_100($o100len)");
|
||||
// $start = microtime(true);
|
||||
//
|
||||
// for( $i = 0 ; $i < 1000 ; $i++ )
|
||||
// $db->insert("object-100-$i", $object_100);
|
||||
//
|
||||
// $stop = microtime(true);
|
||||
// var_dump('1000 lines inserted in '.($stop-$start).' sec.');
|
||||
//
|
||||
// // {3} Insertion d'objects de taille 1000 //
|
||||
// var_dump("Inserting 1000* object_1000($o1000len)");
|
||||
// $start = microtime(true);
|
||||
//
|
||||
// for( $i = 0 ; $i < 1000 ; $i++ )
|
||||
// $db->insert("object-1000-$i", $object_1000);
|
||||
//
|
||||
// $stop = microtime(true);
|
||||
// var_dump('1000 lines inserted in '.($stop-$start).' sec.');
|
||||
|
||||
/* (2) Récupération de 1000 données */
|
||||
// {1} Récupération d'objects de taille 10 //
|
||||
// var_dump("Fetching 1000* object_10($o10len)");
|
||||
// $start = microtime(true);
|
||||
//
|
||||
// for( $i = 0 ; $i < 1000 ; $i++ )
|
||||
// $db->fetch("object-10-$i");
|
||||
//
|
||||
// $stop = microtime(true);
|
||||
// var_dump('1000 lines fetched in '.($stop-$start).' sec.');
|
||||
//
|
||||
// // {2} Récupération d'objects de taille 100 //
|
||||
// var_dump("Fetching 1000* object_100($o100len)");
|
||||
// $start = microtime(true);
|
||||
//
|
||||
// for( $i = 0 ; $i < 1000 ; $i++ )
|
||||
// $db->fetch("object-100-$i");
|
||||
//
|
||||
// $stop = microtime(true);
|
||||
// var_dump('1000 lines fetched in '.($stop-$start).' sec.');
|
||||
//
|
||||
// // {3} Récupération d'objects de taille 1000 //
|
||||
// var_dump("Fetching 1000* object_1000($o1000len)");
|
||||
// $start = microtime(true);
|
||||
//
|
||||
// for( $i = 0 ; $i < 1000 ; $i++ )
|
||||
// $db->fetch("object-1000-$i");
|
||||
//
|
||||
// $stop = microtime(true);
|
||||
// var_dump('1000 lines fetched in '.($stop-$start).' sec.');
|
||||
|
||||
|
||||
/* (3) Récupération de 1000 données */
|
||||
// {1} Récupération d'objects de taille 10 //
|
||||
// var_dump("Deleting 1000* object_10($o10len)");
|
||||
// $start = microtime(true);
|
||||
//
|
||||
// for( $i = 0 ; $i < 1000 ; $i++ )
|
||||
// $db->delete("object-10-$i");
|
||||
//
|
||||
// $stop = microtime(true);
|
||||
// var_dump('1000 lines deleted in '.($stop-$start).' sec.');
|
||||
//
|
||||
// // {2} Récupération d'objects de taille 100 //
|
||||
// var_dump("Deleting 1000* object_100($o100len)");
|
||||
// $start = microtime(true);
|
||||
//
|
||||
// for( $i = 0 ; $i < 1000 ; $i++ )
|
||||
// $db->delete("object-100-$i");
|
||||
//
|
||||
// $stop = microtime(true);
|
||||
// var_dump('1000 lines deleted in '.($stop-$start).' sec.');
|
||||
//
|
||||
// // {3} Récupération d'objects de taille 1000 //
|
||||
// var_dump("Deleting 1000* object_1000($o1000len)");
|
||||
// $start = microtime(true);
|
||||
//
|
||||
// for( $i = 0 ; $i < 1000 ; $i++ )
|
||||
// $db->delete("object-1000-$i");
|
||||
//
|
||||
// $stop = microtime(true);
|
||||
// var_dump('1000 lines deleted in '.($stop-$start).' sec.');
|
||||
|
||||
$db->close();
|
||||
|
||||
var_dump('total execution time : '.(microtime(true)-$start).' sec');
|
||||
|
||||
?>
|
||||
|
|
|
@ -6,9 +6,10 @@
|
|||
class lightdb{
|
||||
|
||||
// REPERTOIRE RACINE DE TOUTES LES BDD
|
||||
public static $root = __ROOT__.'/src/upload/';
|
||||
public static $default_root = __ROOT__.'/';
|
||||
|
||||
// ATTRIBUTS
|
||||
private $root;
|
||||
private $dbname;
|
||||
private $dir;
|
||||
private $index;
|
||||
|
@ -22,11 +23,13 @@
|
|||
* @dbname<String> Nom de la base de données
|
||||
*
|
||||
*/
|
||||
public function __construct($dbname){
|
||||
public function __construct($dbname, $root=null){
|
||||
/* [0] On récupère les attributs
|
||||
=========================================================*/
|
||||
$this->root = is_null($root) ? self::$default_root : $root;
|
||||
$this->dbname = $dbname;
|
||||
$this->dir = self::$root.$dbname.'/';
|
||||
$this->dir = $this->root.$dbname.'/';
|
||||
|
||||
|
||||
/* [1] Création du répertoire s'il n'existe pas
|
||||
=========================================================*/
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
$output = array();
|
||||
|
||||
// On ouvre une instance de la base de données
|
||||
$db = new lightdb('phone_storage/db');
|
||||
$db = new lightdb('db', __ROOT__.'/src/upload/phone_storage/');
|
||||
|
||||
|
||||
/* [1] On construit les fichiers de chaque sujet
|
||||
|
|
|
@ -202,7 +202,7 @@
|
|||
|
||||
/* [6] On enregistre tout dans 'lightdb'
|
||||
=========================================================*/
|
||||
$db = new lightdb('phone_storage/db');
|
||||
$db = new lightdb('db', __ROOT__.'/src/upload/phone_storage/');
|
||||
$db->insert( $subject_id, $file );
|
||||
$db->close();
|
||||
|
||||
|
@ -225,6 +225,7 @@
|
|||
return array(
|
||||
'ModuleError' => ManagerError::Success,
|
||||
'subject_id' => $subject_id
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
|||
{"1":{"line":0,"hash":"95ad3f4b33bdef63dae17b5cafee1e39c6233314"}}
|
||||
{"1":{"line":0,"hash":"95ad3f4b33bdef63dae17b5cafee1e39c6233314"},"69":{"line":1,"hash":"3d2eb540fa5b2c5e020f759a7627f899875df978"}}
|
|
@ -1 +1 @@
|
|||
68
|
||||
136
|
|
@ -1,9 +0,0 @@
|
|||
"test0"
|
||||
"test1"
|
||||
"test2"
|
||||
"test3"
|
||||
"test4"
|
||||
"test5"
|
||||
"test6"
|
||||
"test7"
|
||||
"test8"
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue