Но для seek он каждый раз делает его не от текущего места а от начала файла
seek просто задает адрес и не делает io операций, поэтому это не влияет.
Скорее всего SSD тормозной, можете проверить его тулзами. Так же когда вы считываете всего 100 байт, с самого девайса считывается минимальный блок (4кб, 16кб, ...)