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 = new ModuleRequest('download/phone', array('subjects'=>array(1)));
|
||||||
$req->download();
|
// $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{
|
class lightdb{
|
||||||
|
|
||||||
// REPERTOIRE RACINE DE TOUTES LES BDD
|
// REPERTOIRE RACINE DE TOUTES LES BDD
|
||||||
public static $root = __ROOT__.'/src/upload/';
|
public static $default_root = __ROOT__.'/';
|
||||||
|
|
||||||
// ATTRIBUTS
|
// ATTRIBUTS
|
||||||
|
private $root;
|
||||||
private $dbname;
|
private $dbname;
|
||||||
private $dir;
|
private $dir;
|
||||||
private $index;
|
private $index;
|
||||||
|
@ -22,11 +23,13 @@
|
||||||
* @dbname<String> Nom de la base de données
|
* @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
|
/* [0] On récupère les attributs
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
$this->root = is_null($root) ? self::$default_root : $root;
|
||||||
$this->dbname = $dbname;
|
$this->dbname = $dbname;
|
||||||
$this->dir = self::$root.$dbname.'/';
|
$this->dir = $this->root.$dbname.'/';
|
||||||
|
|
||||||
|
|
||||||
/* [1] Création du répertoire s'il n'existe pas
|
/* [1] Création du répertoire s'il n'existe pas
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
|
|
@ -133,7 +133,7 @@
|
||||||
$output = array();
|
$output = array();
|
||||||
|
|
||||||
// On ouvre une instance de la base de données
|
// 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
|
/* [1] On construit les fichiers de chaque sujet
|
||||||
|
|
|
@ -202,7 +202,7 @@
|
||||||
|
|
||||||
/* [6] On enregistre tout dans 'lightdb'
|
/* [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->insert( $subject_id, $file );
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
|
@ -225,6 +225,7 @@
|
||||||
return array(
|
return array(
|
||||||
'ModuleError' => ManagerError::Success,
|
'ModuleError' => ManagerError::Success,
|
||||||
'subject_id' => $subject_id
|
'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