Less system calls is probably slightly better, though you probably won't see a measurable performance gain unless the file is big, in which case it might not be practical to read the entire file at once.
If performance is absolutely critical, I usually read blocks of 64K or multiples thereof, because I know that my OS reads data from the hard disk in 64K blocks (even if you request only a single byte be read).