dofile
, loadfile
и loadstring
все вызывают один и тот же примитив для разбора скриптов.
Я полагаю, вы имеете в виду loadstring(file:read("*a"))
. В этом случае может быть небольшое снижение производительности (которое я не измерял), потому что Lua должен хранить все содержимое файла в виде строки. Примитив, который разбирает скрипты, этого не делает: он читает входные данные по частям.