Какова относительная нагрузка при вызове times()
по сравнению с файловыми операциями, такими как чтение строки fread()
.
Я понимаю, что это, вероятно, отличается от ОС к ОС и зависит от того, какова длина строки, где находится файл, действительно ли это заблокированный канал (это не так) и т. Д.
Скорее всего, файл не локальный, а находится на смонтированном диске NFS где-то в локальной сети. Распространенным случаем является строка длиной 20 символов. Если это поможет, предположим, что ядро Linux 2.6.9. Код будет не работать в Windows.
Я просто ищу приблизительное руководство. Это того же порядка? Быстрее? Медленнее
Конечная цель: я смотрю на реализацию процедуры обратного вызова хода выполнения, но не хочу звонить слишком часто (поскольку обратный вызов, вероятно, очень дорогой). Большая часть работы заключается в чтении текстового файла (строка за строкой) и выполнении чего-либо со строкой. К сожалению, некоторые строки имеют длину очень , поэтому простой вызов каждых N
строк не эффективен в слишком часто встречающихся патологических случаях.
Я избегаю писать тесты, потому что боюсь писать неправильно и надеюсь, что мудрость толпы превосходит мои полуготовые тесты.