update benchmark, add a worker decorator