function time_function_call($functionname)
{
    $string = 'string';
    $module = 'module';
    $a = new stdClass();
    $a->field = 'value';
    $startime = microtime(true);
    for ($i = 0; $i < NUM_CALLS; $i++) {
        $functionname($string, $module, $a);
    }
    $duration = microtime(true) - $startime;
    print_result_line($duration, 'calls to ' . $functionname);
}
function run_tests($function, $contexts, $numcalls, $basetime)
{
    set_time_limit(120);
    $startime = microtime(true);
    for ($j = 0; $j < $numcalls; $j++) {
        $function($contexts[array_rand($contexts)]);
    }
    $duration = microtime(true) - $startime;
    print_result_line($duration, $basetime, $numcalls, 'calls to ' . $function);
    return $duration;
}