コード例 #1
0
ファイル: test-b-tree.php プロジェクト: sibero/moosql
$num = 9;
if (isset($_GET['num'])) {
    $num = $_GET['num'];
}
if (isset($argv[1])) {
    $num = $argv[1];
}
define('NUM', $num);
define('STEP', 1);
$vals = range(0, NUM);
shuffle($vals);
$b4 = microtime(true);
ob_start();
for ($i = NUM; $i >= 0; $i -= STEP) {
    //echo 'Insert '.$vals[$i].'<br>';
    $btr->insert($fp, $meta, $vals[$i], NUM + $vals[$vals[$i]]);
}
ob_end_clean();
echo 'Inserted ' . floor(NUM / STEP) . ' for ' . round(microtime(true) - $b4, 4) . ' sec<br>';
// delete 1/2 of all entries
define('DELETE_START', round(NUM / 4 / STEP) * STEP);
define('DELETE_STOP', round(3 * NUM / 4 / STEP) * STEP);
$b4 = microtime(true);
for ($i = DELETE_START; $i < DELETE_STOP; $i += STEP) {
    //echo 'Delete '.$i.'<br>';
    $btr->delete($fp, $meta, $i);
}
echo 'Deleted ' . floor((DELETE_STOP - DELETE_START) / STEP) . ' for ' . round(microtime(true) - $b4, 4) . ' sec<br>';
$ins_back = round((DELETE_START + (DELETE_STOP - DELETE_START) / 2) / STEP) * STEP - STEP;
define('INSERT_BACK', min(round(NUM / 2), 10));
for ($j = 0; $j < INSERT_BACK; $j += STEP) {