Julien,
That is very useful and well explained. Thank you.
Robert
The problem with Tor is the "single-thread working" for encryption/relaying, so if you have a second CPU core available, may be you can open a second Tor instance in order to use the second core capacity.
In fact, when your Tor daemon reaches 100% of 1 core usage, you can see what is the current bandwith and set it into your torrc file as maximum. When a Tor instance exceeds 100% it's a little bit like a "congestion" into your Tor process, so it's better for 100% value to be a limit per Tor process.