added timing benchmark