You should try less.
From the manpages:
Also, less does not have to read the entire input file before starting, so with large input files it starts up faster than text editors like vi (1). I open large files regularly with less and have no problems with the start up time. If you combine it with the option -jn, you can reach basically every part of the file in a trivial time.
I didn't test this because I'd need a pretty big file but combined with the head, you could script that too with more which is more fit for scripting.
more +$START_LINE_NUMBER | head -n$AMOUNT_OF_LINES
If I understood it right head should be finishing the pipe process after getting the required amount of lines, so this solution should be the zerolow-overhead solution you were looking for.