常識的に考えて、文字の置換(変換)するだけなら s/// より tr/// の方が速いだろ・・・
「+」をスペースに変換する必要があるのは、スペースが「+」に変換されてるからだろ・・・