add benchmark to show the time diff of using defer