use C++11 <chrono> to measure the time more precisely
add benchmark test