add benchmark self test