functional benchmarking