When the 512 byte buffer fills, the SD library takes several hundred milliseconds to write it out. You cannot collect data during that time. See this thread: Improving SdCard Write Time
You can make the process less frequent by writing two byte integers to the file rather than space-wasting floats, or eliminate it by using two buffers, filling one while writing the other.
And, of course, it makes no sense at all to "collect data as fast as possible" for something like an EKG.