Я программирую на языке C. Иногда нам приходится считывать большие данные из файлов, для которых мы обычно используем системные вызовы fread или read, что означает либо ввод-вывод ввода-вывода, либо ввод/вывод системного вызова.Чтение больших буферов в C - Эффективные методы
Я хочу спросить, читаем ли мы такие большие данные, а затем вычисляем размер блока и читаем в соответствии с этим, поможет ли он каким-либо образом эффективно его читать или нет?
Я знаю, что чтение через системные вызовы может замедлить работу, и есть другие условия, например, если нам приходится иметь дело с сетевыми сокетами, тогда мы должны использовать их, вместо использования потоков ввода-вывода с потоком дадим нам оптимизированные результаты. Как и мудрый, мне нужны советы и подсказки для чтения больших данных из файлов и вещей, о которых нужно позаботиться.
Также, если mmap может быть более выгодным, чем эти обычные входы/выходы, пожалуйста, уточните ситуации, когда это будет?
Платформа: Linux, GCC компилятор
Вы консультировались с [этот вопрос] (http://stackoverflow.com/q/258091/1025391), [этот вопрос] (http://stackoverflow.com/q/10380745/1025391) и [этот вопрос ] (http://stackoverflow.com/q/8056984/1025391)? – moooeeeep