It's an interesting question, because the advice changes over time. Having said that:
On a GPU, by far the most efficient way, as Nathan Reed said in the comment, is to use the rasterisation hardware because that is that it is designed for.
On a CPU, one of the most efficient ways is to more-or-less mimic what rasterisation hardware does.
GPU vendors are ...