とりあえずそれぞれ1000回ブン回したときのProcess.timesを測定。
最後のはおいらの組んだやつ。#545は間違っているのでパス。

#522, 0.703
#531, 0.719
#538, 0.672
#543, 1.187
#546, 0.391
#551, 0.515
####, 0.172

(1..1000).each do |test|
  (1..100).each do | c |
    next puts c.to_s unless c % 15
    puts 'Fizz' unless c % 3
    puts 'Buzz' unless c % 5
  end
end

やっばり手続き型だとふるい分けが重要ですな。