We need to remember that God has many attributes, and we can get into trouble when we elevate certain ones above others. As Jad pointed out, God is also all-just and all-knowing. God ultimately wants all to come to a saving knowledge of Himself and thus He knows how to best work that out so that every person has the greatest and fairest opportunity to come to that point. I don’t think that we, as finite created beings, are in the best position to question or judge how an omnipotent, all-powerful God should go about achieving that end. I think one of the reasons God allows temporary evil and suffering is because He is actually merciful in delaying His justice. In reality, an all-righteous and all-just being does not have to tolerate any wickedness or evil. God in His desire to create us as free moral agents, allows us to make our own moral choices; this unfortunately results in acts of evil against both Him and others. However because God is all-just, He has also promised a day in which He will judge all the world in righteousness (Heb 9:27.) He promises that every person who has ever lived will stand before Him and give an account for every thought, word and deed. Not just murderers and rapists; but all liars, thieves, fornicators etc will also be judged. On that day perfect, eternal justice will be executed. However God in His grace delays this appointment because it is His will that none would perish but that all would come to repentance. In His mercy He gives each of us time to turn from our ways of wickedness and towards Him that we may be found innocent on that day through the atoning work of His son on the cross. Every new day the sun rises and each new breath we take are another expression of this kindness, patience and delayed justice.