Optimized Algorithms to Sample Determinantal Point Processes