$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) { $ins_back += STEP; echo 'Insert value back: ' . $ins_back . '<br>'; $btr->insert($fp, $meta, $ins_back, NUM + $vals[$vals[$ins_back]]); } $b4 = microtime(true); for ($i = 0; $i <= NUM; $i += STEP) { $res = $btr->fsearch($fp, $meta, $i); if (!$res && ($i < DELETE_START || $i >= DELETE_STOP)) { echo '<b>Error:</b> Key ' . $i . ' not found<br>'; continue; } else { if ($res && ($i >= DELETE_START && $i < DELETE_STOP)) { echo '<b>Error:</b> Found a deleted entry ' . $i . '<br>'; continue; } else { if (!$res) { continue; } } } list($value, $offset) = $res; if ($value != $i || $offset != NUM + $vals[$i]) {