$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) {