Мне нужна помощь в выборе алгоритма поиска для поиска больших файлов.вот что я делаюДопустим, файл состоит из временного диапазона от t1 до t2.(t2> t1)
Мне нужно получить смещения файлов (fseek):
- время t3, превышающее t1
время t4, котороеменьше времени t2
| ------| ---|----------------|
t1 t3 t4 t2
Наивная версия состоит в том, чтобы перебирать строки по всему файлу и возвращать fseek, когда текущее время равно t3, начинать с возвращенного поиска и повторять, пока текущее время равно t4return second fseek
Теперь допустим, файл имеет размер 100 ГБ, и мне нужно перебирать файл, чтобы получить период в 2 секунды.Тогда эта логика становится слишком ЦП и файловая система дорогой.Ищем лучшие решения.Используемый язык - C. Линии в настоящее время имеют фиксированный размер, но я бы хотел заглянуть в будущее и разобраться с алгоритмом, который не использует фиксированный размер.