Nearly all those benchmarks are synthetic which does not represent real world performance. The vast majority of games only use 2 core. In games that can use more than 2 cores the i3 will not perform as well as an i5. Then again, the Radeon HD 5670 is not a high performance graphics card either. So from a budget and graphics card perspective the i3 is the better choice.
If you do very CPU intensive tasks like video encoding, 3D rendering or Photoshop, then the i5 would be better. Or if you can simply afford to spend more then an i5 would be better in the long run in case you happen to buy a game that can make use of more than 2 cores and when you upgrade to a better graphic card.