feat: add benchmark