sdtio.h interfaces are 'buffered'. introduces sync penalty, and some usec delays.
test your OS native unbuffered interfaces or even syscalls if you dont care about portability.
Keep in your mind that buffered and unbuffered ifaces MUST not mix into the same project or same underlying file.