Ich kann dir nicht sagen was schneller ist, aber der Verwendungszweck ist ein anderer.

Ein Proc ist die Objektrepräsentation eines Codeblocks den man an einen Funktionsaufruf hängen kann wie etwa bei Array#each.
Eval hingegegen wird genutzt um kleinere Codefragmente dynamisch zusammenbauen zu können.

Mal abgesehen davon darfst du nicht vergessen, dass es bei Code nicht immer nur um die reine Performance frage geht. Ich würde der Proc Variante auch dann den Vorzug geben wenn er langsamer wäre, einfach weil der Code klarer ist.