How are smart contract events indexed?

What JSON RPC query has the best performance for polling all events of a number of smart contracts?

eth_getLogs is the only method for polling smart contract events.

The only alternative is to use a websocket subscription. We have examples of this at https://infura.io/docs