потестировал, на маленьких файлах(десятки килобайт)скорости мримерно одинаковые, на больших(7Мб) производительности file_get_contents() падает процентов на 30 по сравнению readfile. Что и понятно, т.к readfile не требует памяти.
Использование функции file_get_contents() наиболее предпочтительно в случае необходимости получить содержимое файла целиком, поскольку для улучшения производительности функция использует алгоритм 'memory mapping' (если поддерживается операционной системой).