There is probably not a significant performance gain in using a C/C++ dll. The C# runs in an environment with a quite efficient JIT compiler, so my guess is that the code performance is limited by a hard disk read speed of approximately 100 MB/s. Of course, if you have an SSD, your mileage may vary.
Do note that if one record is e.g. 1000 bytes and you are reading 100 million records, that means 100 gigabytes. Reading it takes 1000 seconds, i.e. more than 15 minutes, just due to the slow speed of the hard disk drive.
solved C# I/O vs C I/O