BB84 protocol vs. E91 protocol

What is the pros and cons of E91 protocol and BB84 protocol? Which one is faster than the other, and which one is more safe?

Now, you may ask what does it mean that a protocol 'is safe'? There is a precise definition about the secrecy of a protocol which involves information theory (I don't know if you're familiar with these concepts). Roughly speaking, a protocol is (information theoretically) 'secure' if the information an eavesdropper can extract about the key, without being detected, is arbitrary low. That is, if $$A$$ is the random variable associated to the key and $$E$$ is the r.v. associated to the information extracted by the eavesdropper, we have $$I(A:E)<\varepsilon$$ for every $$\varepsilon>0$$, where $$I(A:E)$$ is the mutual information. Of course, this is a limit result, and it could be obtained only for infinite length keys. The precise defition of secrecy is a little bit more complicated to take into account the effect of a quantum memory.
It turns out that this security definition 'affects' the secret key rate $$K$$ of the protocol, i.e., the ratio between the number of secret key bits and the number of sifted bits. All QKD protocols differ by their secret key rate. That is, for the BB84, given by the Shor-Preskill formula: $$K=1-2H_2(e)$$ where $$e$$ is the QBER. At the moment, I don't remember the secret key rate formula for the E91 protocol but you can find it on the internet.