La forma más rápida de encontrar el número de líneas en un texto (C ++)

Necesito leer el número de líneas en un archivo antes de realizar algunas operaciones en ese archivo. Cuando intento leer el archivo e incrementar la variable line_count en cada iteración hasta llegar a eof. No fue tan rápido en mi caso. Usé ifstream y fgets. Ambos fueron lentos. ¿Hay alguna forma hacky de hacerlo, que también es utilizada por, por ejemplo, BSD, kernel de Linux o berkeley db. (Puede ser mediante el uso de operaciones bit a bit).

Como dije antes, hay millones de líneas en ese archivo y cada vez es más grande, cada línea tiene unos 40 o 50 caracteres. Estoy usando Linux.

Nota: Estoy seguro de que habrá personas que podrían decir que use un idiota de DB. Pero brevemente en mi caso no puedo usar un db.